Animation Player - The Ultimate Solution for Animators
Animation player - это компонент, который используется для управления анимацией объекта в игре или приложении. Он позволяет создавать и управлять анимационными состояниями, проигрывать их в нужный момент, устанавливать скорость проигрывания и трансформировать объекты в процессе анимации.
Для начала работы с Animation player вам понадобится импортировать его в свой код:
gdscript
extends Node2D
var animation_player
func _ready():
animation_player = $AnimationPlayer
После этого вы можете создать анимационные состояния для вашего объекта. Например, вы можете создать состояние "idle" для анимации покоя и "walk" для анимации движения. Для этого добавьте анимационные ключи и значения в окне AnimationPlayer:
gdscript
func _ready():
animation_player = $AnimationPlayer
# Создаем анимационное состояние idle
var idle_animation = Animation.new()
idle_animation.add_track(0, Animation.TYPE_VALUE, Animation.KEY_VALUE)
idle_animation.track_insert_key(0, 0, Variant(0))
idle_animation.track_insert_key(0, 1, Variant(1))
animation_player.add_animation("idle", idle_animation)
# Создаем анимационное состояние walk
var walk_animation = Animation.new()
walk_animation.add_track(0, Animation.TYPE_VALUE, Animation.KEY_VALUE)
walk_animation.track_insert_key(0, 0, Variant(0))
walk_animation.track_insert_key(0, 1, Variant(2))
animation_player.add_animation("walk", walk_animation)
Теперь вы можете проигрывать анимации в нужный момент, устанавливать скорость проигрывания и трансформировать объекты во время анимации. Например, вы можете проиграть анимацию "walk" и переместить объект вдоль оси x:
gdscript
func _process(delta):
# Проигрываем анимацию walk
animation_player.play("walk")
# Устанавливаем скорость проигрывания анимации walk в 2
animation_player.set_speed_scale("walk", 2)
# Трансформируем объект во время анимации walk
var translation = Vector2(100, 0) * delta
translation = animation_player.xform_inv(translation)
translate(translation)
В приведенном примере анимация "walk" будет проигрываться с удвоенной скоростью, а объект будет двигаться вдоль оси x на 100 пикселей за секунду.
Animation player - это мощный инструмент для создания и управления анимацией в играх и приложениях. С помощью него вы можете создать разные анимационные состояния, проигрывать их в нужное время и добавлять дополнительные эффекты во время анимации.