Files
aego/engine/res/docs/quickstart.ru.md

75 lines
6.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: quickstart
summary: Создайте 2D-проект, подключите скрипт, сохраните работу и запустите экспортированную игру.
---
# Первый проект
Создайте проект со спрайтом, которым можно управлять, затем экспортируйте папку для запуска вне редактора. Нужна настольная сборка Aego: встроенная браузерная песочница не заменяет редактор проекта. Если Aego ещё не установлен, начните с [установки](ref:install).
## 1. Создайте проект
Откройте Aego. Нажмите **Новый проект**, выберите **2D**, назовите проект `hello`, выберите, где он будет лежать, и нажмите **Создать**. Редактор откроет главную сцену проекта: камеру и спрайт.
## 2. Осмотритесь
Слева панель «Иерархия» показывает узлы сцены. Справа «Инспектор» показывает компоненты выбранного узла и их поля. В середине панель «Сцена»: перетаскивайте, чтобы сдвинуть вид, крутите колесо для масштаба, щёлкните узел, чтобы выбрать его. Нажмите **Играть** (или Ctrl+P): панель «Игра» покажет то, что видит игрок. Нажмите **Остановить**, чтобы вернуться.
## 3. Заставьте его двигаться
В «Ассетах» щёлкните правой кнопкой папку `scripts/game` и выберите **Создать → Скрипт…**. Назовите его `Spinner` и нажмите **Создать**. Откроется редактор скриптов с пустым скриптом; добавьте в него `Update`:
```aes
package game
script Spinner {
func Update(dt float) {
node.SetRotation(node.Rotation() + dt)
}
}
```
Сохраните (Ctrl+S). Выберите спрайт, нажмите **Добавить компонент** в «Инспекторе», наберите `spinner` и выберите **Spinner**. Нажмите «Играть»: спрайт вращается. Замените `dt` на `dt * 3`, пока игра идёт, и сохраните — он закрутится быстрее без перезапуска. Это горячая перезагрузка, она работает для любого скрипта.
## 4. Добавьте управление
Замените скрипт на версию с вводом:
```aes
package game
import "aego/input"
script Spinner {
func Update(dt float) {
p := node.Position()
p.X += input.Axis("Move") * 5 * dt
node.SetPosition(p)
}
}
```
`Move` — действие ввода: по умолчанию стрелки и A/D, а если подключён геймпад — его стик. Действия задаются в **Настройках проекта → Ввод**; добавляйте там свои.
## Сохраните работу
Сохраните скрипт через Ctrl+S, затем переведите фокус в документ сцены и сохраните его отдельно. Скрипты находятся в `scripts/`, сцены в `scenes/`, импортируемые исходники в `assets/`. Храните исходники вместе с их `.meta`: метаданные содержат постоянные идентификаторы ресурсов, на которые ссылается сцена. Остановка Play не превращает временное состояние игры в сохранённые правки сцены. Экспорт собирает сохранённый проект, а не заменяет сохранение документов.
Проверка: остановите игру, закройте и откройте сцену, затем снова нажмите «Играть». На спрайте должен остаться Spinner, а действие Move должно его перемещать.
## 5. Перемотайте игру
Во время игры нажмите F6, чтобы поставить паузу, и потяните таймлайн внизу панели «Игра». Игра пойдёт назад к выбранному кадру и снова вперёд — каждый кадр ровно так, как он был. F7 делает шаг на один фиксированный тик.
## 6. Экспортируйте проект
**Файл → Экспорт…** открывает панель «Экспорт». Выберите платформу **Веб**, папку вывода и нажмите **Экспорт**. Нажмите **Запустить**: панель раздаст папку через локальный сервер, и игра откроется в браузере. Для нативной сборки выберите **Linux**, **Windows** или **macOS**; для системы, отличной от вашей, нужны Go и исходники движка, см. [Установка Aego](ref:install).
Копируйте всю папку веб-сборки, а не только HTML или WASM. Раздавайте её через HTTP: открытие `index.html` по `file:` не соответствует запуску опубликованной игры. Проверьте управление в экспортированной игре вне редактора. В [справке CLI](ref:cli) перечислены `--target web` и проверки сборки.
## Что дальше
- [Платформер с нуля](ref:platformer) — персонаж, камера, яма, монеты и враг, шаг за шагом.
- [Руководство по редактору](ref:editor) — все панели и сочетания клавиш.
- [Aego Script](ref:language) — язык за одно чтение.
- [Работа с агентами](ref:agents) — пусть ИИ-агент собирает и проверяет сцены вместе с вами.