Представим ситуацию : У вас есть обьект который при помощи AnimationPlayer перелетает из точки А в точку Б по дуге.
В сцене спрайт и плеер :
В плеере у нас добавлена анимация "fly", и у свойства POSITION по два ключа на ось:
Можно заметить что мы двигаемся из точки x50 y300 в точку x500 y300.
А теперь давайте сделаем так, чтобы наш спрайт летел из точки x200 y200, в точку x500 y400, но не редактируя ключи в редакторе анимации, а непосредственно через код.
Подключаем на корневую ноду скрипт ,открываем редактор.
Для начала вынесем в переменные сам плеер , и текущую анимацию.
Далее устанавливаем нашему треку «fly» новые данные в ключи.
Схема тут простая
Проверяем :
Установим значения для оси Х так , чтобы спрайт летел из точки по оси Х = 500 в Х=200:
Как видим тут тоже всё корректно.
Через код само собой можно менять практически всё. Начальные параметры кривой (bezier_track_set_key_in_handle() bezier_track_set_key_out_handle()), положение ключа на временнОй шкале (track_set_key_time()), и так далее.
Более подробно вы сможете это всё найти в родной справке.
Ну и напоследок небольшой пример, в котором наш спрайт летит в точку клика используя для траектории данные из плеера.
За сим всё, удачной разработки !
Подписывайтесь на канал, вступайте в группу в ВК, и не забывайте что у нас есть дискорд сервер.
Удачи в изучении годо !
#godot #gdscript #уроки #игровой движок #программирование