The notes of the Russian translation are worked off. GMP001 names the component as the editor does, Rigid Body 2D. The editor guide points at Play > Never Show Play Changes, which is where the list is turned off. The AI preset of Debug Draw has a translated name. The Coroutines section of the language reference has its Waiting heading back before the yield table and says call into a script instead of callback. The catalog key of a method named like a field is api.<id>.method instead of carrying parentheses. The 21 easing presets say how each one moves and what it suits. Data types such as Audio Event get catalog entries for their names and fields, so the Inspector and the menus show them translated, and Audio Ranges has a translated name. The Russian table of agent commands in cli.ru.md is generated from the catalog like the English one, so a new or changed command shows up as a missing translation instead of a stale row.
2.7 KiB
id, title
| id | title |
|---|---|
| debug | Отладочная отрисовка |
Отладочная отрисовка
Линии, стрелки, окружности, прямоугольники, крестики и подписи, нарисованные поверх игры во время игры в редакторе и в aego run. Они помогают увидеть, что делает код: путь, конус обзора, скорость.
Скрипты
import "aego/debug"
func Update(dt float) {
debug.Arrow(node.WorldPosition(), node.WorldPosition() + Velocity * 0.2, Color{0, 1, 0, 1})
debug.Pen("ai.path", 2)
debug.Cross(goal, 0.3, Color{1, 0, 1, 1})
}
По умолчанию примитив живёт один кадр. debug.Pen(channel, ttl) задаёт канал и время жизни того, что скрипт нарисует дальше. Положительный ttl считается в секундах игры и стоит на паузе. Отрицательный ttl действует до debug.Clear. PenUnscaled считает реальные секунды. Однокадровый примитив, нарисованный прямо перед паузой, остаётся видимым, пока игра не продолжится.
Каналы
Каждый примитив принадлежит каналу. Панель «Отладочная отрисовка» перечисляет каналы запущенной игры и включает и выключает их по одному или набором («Столкновения», «Скорость», «ИИ», «Камера»). Формы физики, контакты, AABB, соединения, острова и дерево широкой фазы — это каналы physics.*. По умолчанию они выключены, а включает их меню Физика.
Go
if d, ok := sdk.Debug(ctx); ok {
d.Circle(center, 2, &sdk.DebugStyle{Color: sdk.Color{R: 1, A: 1}, Channel: "mygame.spawn", Life: debugdraw.ForSeconds(1)})
}
Style.Fade плавно убирает альфу либо альфу и размер за время жизни. Thickness рисует линии толщиной до четырёх пикселей. Space: Screen принимает позиции в логических пикселях изображения игры.
Ограничения
16384 примитива на мир и 4096 на канал; лишние отбрасываются и учитываются в панели. debug { enabled=false } в project.aego превращает каждый вызов в пустую операцию.