Написать Camera:animateTo #19

Closed
opened 2025-11-09 18:07:25 +03:00 by PeaAshMeter · 1 comment
Owner

сделай метод animateTo(мировые координаты) у камеры
для этого:

  1. сделай, чтобы метод просто центрировал камеру по указанным координатам (мгновенно)
  2. свяжи это с AnimationNode:
    2.1) добавь камере поле animationNode: AnimationNode?
    2.2) в методе animateTo принимай animationNode: AnimationNode последним аргументом
    2.3) добавь в метод шаблонную логику
if self.animationNode then self.animationNode:finish() end
self.animationNode = animationNode

2.4) в update камеры ты сможешь обращаться к полю self.animationNode.t (это число в пределах [0; 1], которое выражает степень завершенности анимации). Перемещай камеру согласно этому значению, пока self.animationNode.finished не равно true
2.5) запрети двигать камеру игроку, пока идёт анимация
2.6) для тестирования нужно создать AnimationNode (разберись с конструктором) и передать его в твой animateTo

а, еще надо в update камеры дергать self.animationNode:update(), если, собственно, self.animationNode существует

сделай метод animateTo(мировые координаты) у камеры для этого: 1) сделай, чтобы метод просто центрировал камеру по указанным координатам (мгновенно) 2) свяжи это с AnimationNode: 2.1) добавь камере поле animationNode: AnimationNode? 2.2) в методе animateTo принимай animationNode: AnimationNode последним аргументом 2.3) добавь в метод шаблонную логику ```lua if self.animationNode then self.animationNode:finish() end self.animationNode = animationNode ``` 2.4) в update камеры ты сможешь обращаться к полю self.animationNode.t (это число в пределах [0; 1], которое выражает степень завершенности анимации). Перемещай камеру согласно этому значению, пока self.animationNode.finished не равно true 2.5) запрети двигать камеру игроку, пока идёт анимация 2.6) для тестирования нужно создать AnimationNode (разберись с конструктором) и передать его в твой animateTo а, еще надо в update камеры дергать self.animationNode:update(), если, собственно, self.animationNode существует
neckrat was assigned by PeaAshMeter 2025-11-09 18:07:25 +03:00
PeaAshMeter added reference main 2025-11-09 18:07:30 +03:00
Owner
[№21](https://gitea.peaashmeter.dev/ArcMutex/heroes-of-nerevelon/pulls/21)
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ArcMutex/heroes-of-nerevelon#19
No description provided.