Files
sanspie f22242e5aa
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
Stage 11g2–11g3: registry texts, CLI and the site in Russian (D348)
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.
2026-10-25 15:31:22 +03:00

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")
        }
    }
}