Я делаю игру в Godot и должен сохранить позицию анимации, потому что анимация приостанавливается другой. Я хочу продолжить анимацию там, где она была раньше, и поэтому мне нужно сохранить позицию анимации, а затем установить ее на сохраненное значение.
Я пытался установить его (не работал), и в документации и других местах в Интернете я не нашел ничего полезного.
Это скрипт на нем:
extends KinematicBody2D
onready var animation_player = $AnimationPlayer
var hurt_anim_playing: bool = false
var hurt_anim_progress: float = 0
func _ready():
animation_player.play("idle")
pass
func _physics_process(delta):
# for each touching heart, get hurt
for body in hitbox.get_overlapping_bodies():
if body.has_method("heart"):
G.health -= 1
hurt_anim_playing = true
hurt_anim_progress = animation_player.current_animation_position
animation_player.play("hurt")
update_sprite()
body.queue_free()
func die():
dieLayer.visible = true
get_tree().paused = true
func update_sprite():
sprite.frame = G.max_health - G.health
if G.health == 0:
die()
func _on_AnimationPlayer_animation_finished(anim_name):
if anim_name == "hurt":
hurt_anim_playing = false
animation_player.play("idle")
animation_player.current_animation_position = hurt_anim_progress
На самом деле я хотел установить положение анимации и позволить анимации продолжаться там, где она остановилась, но вместо этого я получил ошибку