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
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.
40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
---
|
|
id: aego/camera
|
|
summary: Выбирает виртуальные камеры и плавно переходит между ними, трясёт вид и переводит координаты между экраном и миром.
|
|
---
|
|
|
|
Виртуальные камеры — это компоненты; этот пакет переключается между ними и добавляет тряску. Тряска растёт с травмой, которая затухает со временем и масштабируется настройкой доступности. В песочнице документации ничего не рисуется; пример пишет в журнал, как затухает травма. См. [Камеры 2D](ref:camera).
|
|
|
|
## Пример
|
|
|
|
```aes run
|
|
package demo
|
|
|
|
import (
|
|
"aego/camera"
|
|
"aego/log"
|
|
)
|
|
|
|
script Quake {
|
|
@export var Strength float = 0.6
|
|
|
|
var frames int
|
|
|
|
func Ready() {
|
|
camera.Shake(Strength)
|
|
log.Info("trauma " + string(camera.Trauma()))
|
|
}
|
|
|
|
func Update(dt float) {
|
|
frames++
|
|
if frames % 20 == 0 {
|
|
log.Info("trauma " + string(camera.Trauma()))
|
|
}
|
|
if frames == 60 {
|
|
camera.Shake(0.3)
|
|
log.Info("shaken again, trauma " + string(camera.Trauma()))
|
|
}
|
|
}
|
|
}
|
|
```
|