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

40 lines
2.7 KiB
Markdown

---
id: spawn
title: Создание объектов и пулы
---
# Создание объектов и пулы
`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-копии сохраняют позу префаба.