2.0 KiB
2.0 KiB
id
| id |
|---|
| aego/camera.Pose.Position |
Хранит центр камеры в мировых координатах и единицах мира, а не в экранных пикселях.
id: aego/camera.Pose.Rotation
Хранит поворот камеры в радианах; смешивание выбирает кратчайший путь с учётом полного оборота.
id: aego/camera.Pose.Zoom
Хранит положительный масштаб Camera2D. Увеличение значения приближает изображение и уменьшает видимую область мира.
id: aego/camera summary: Выбирает виртуальные камеры и плавно переходит между ними, трясёт вид и переводит координаты между экраном и миром.
Виртуальные камеры — это компоненты; этот пакет переключается между ними и добавляет тряску. Тряска растёт с травмой, которая затухает со временем и масштабируется настройкой доступности. В песочнице документации ничего не рисуется; пример пишет в журнал, как затухает травма. См. Камеры 2D.
Пример
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()))
}
}
}