ci / release (push) Successful in 5m5s
ci-platforms / build (amd64, windows, windows-2022) (push) Skipped
ci-platforms / build (arm64, darwin, macos-15) (push) Skipped
ci-platforms / build (amd64, darwin, macos-15-intel) (push) Skipped
ci / checks (push) Successful in 4m41s
ci / build (amd64, linux, ubuntu-24.04) (push) Successful in 7m14s
The remaining editor strings and undo step names; component, field, enum, setting, diagnostic and Script API texts under schema.*, enum.*, setting.*, diag.* and api.*; the launcher, the in-game Settings View with a Language setting, the CLI and aego schema show --lang. Every documentation page has a .ru.md translation; the site has a full Russian tree with hreflang, a language switch and ru/llms.txt; aego docs check --lang ru. New doc.tutorial and doc.recipe icons. Fix: an animator restored by a rewind prepares its controller before the replayed step.
3.0 KiB
3.0 KiB
id, title
| id | title |
|---|---|
| language/standard-library | Стандартная библиотека |
Стандартная библиотека
Стандартная библиотека — это набор пакетов aego/…, которые может импортировать любой скрипт. У каждого пакета есть своя страница в справочнике Script API со всеми функциями; здесь сказано, для чего нужен каждый из них.
| Пакет | Для чего |
|---|---|
aego/math |
числа, векторы и повороты |
aego/log |
сообщения в «Консоли» |
aego/rand |
случайные числа из зерна игры |
aego/time |
время кадра, фиксированный шаг и прошедшее время |
aego/input |
действия, контексты и клавиши напрямую; см. Ввод |
aego/settings |
настройки игрока и проекта; см. Настройки |
aego/scene |
поиск, создание и удаление узлов |
aego/testing |
проверки в тестах скриптов |
Модули движка добавляют свои пакеты, например aego/physics и aego/audio. Они перечислены в том же справочнике.
Что стоит знать
- Перегрузки нет. У вариантов для Vec3 суффикс
3(Dot3), у вариантов для int — суффиксInt(ClampInt). - Собирайте сообщения журнала через
+иstring(x). aego/randберёт числа из генератора мира с зерном, поэтому повтор с тем же зерном даёт те же числа.- Узлы, созданные через
scene.Instantiate, появляются в конце фазы. Их скрипты получаютReadyдо следующегоUpdate. aego/testingдоступен только подaego test. Проваленная проверка останавливает тест и сообщает файл и строку.
Запустите:
package demo
import (
"aego/log"
"aego/math"
"aego/rand"
"aego/scene"
"aego/time"
)
script Wander {
@export var Speed float = 2
var dir Vec2
func Ready() {
dir = math.Normalize(Vec2{rand.Range(-1, 1), rand.Range(-1, 1)})
log.Info("found myself: " + string(scene.Find("Wander") == node))
}
func Update(dt float) {
node.SetPosition(node.Position() + dir * Speed * dt)
if time.Frame() % 40 == 0 {
p := node.Position()
log.Info("t=" + string(time.Elapsed()) + " s, " + string(math.Length(p)) + " units from the start")
}
}
}