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

2.7 KiB

id, title
id title
spawn Создание объектов и пулы

Создание объектов и пулы

scene.Spawn ставит копию префаба; scene.Despawn возвращает её в пул, и следующий Spawn того же префаба берёт её снова, а не строит новую.

@export var Bullet AssetRef<Prefab>

func Ready() {
  scene.Pool(Bullet, 32)
}

func Fire() {
  b := scene.Spawn(Bullet, node.WorldPosition())
}
Функция
scene.Spawn(prefab, pos) NodeRef под корнем сцены в 2D-позиции
scene.SpawnAt(prefab, parent, pos, rot) NodeRef под родителем с локальной позицией и поворотом
scene.Despawn(node) обратно в пул; узел, взятый не из пула, уничтожается
scene.Pool(prefab, n) строит n копий сразу; их Ready выполняется сразу

id: spawn/lifecycle title: Жизненный цикл

Жизненный цикл

Созданная копия либо новая, либо взята из пула. Обе получают одни и те же события, но копия из пула сохраняет свою структуру, а её значения сбрасываются.

  • Новая копия выполняет Ready, затем OnSpawned().
  • Копия из пула получает значения, которые были у неё при постройке: поля компонентов, позы и флаги включения дочерних узлов, а каждое поле скрипта возвращается к своему значению по умолчанию и значению из префаба. Ready снова не выполняется, OnSpawned() выполняется.
  • Despawn выполняет OnDespawned(), сразу выключает копию и убирает её в конце кадра: её корутины и подключения к сигналам заканчиваются, её скрипты останавливаются, и она переходит под выключенный узел Pool.
  • Компоненты и дочерние узлы, добавленные, пока копия была в игре, остаются; пул сбрасывает значения, а не структуру.
  • Физическое тело сохраняет свою скорость при повторном создании. Задайте её в OnSpawned.
  • Spawn задаёт позу только 2D-копий; 3D-копии сохраняют позу префаба.