Бесконечно проигрывается анимация удара в godot 4(GDScript)

Никак не могу понять, почему код работает некорректно, помогите люди добрые. У меня после нажатия кнопки атаки начинает бесконечно проигрываться анимация атаки. Вроде как я подключил сигнал завершения анимации, и в функции:

func _on_animated_sprite_2d_animation_finished():
    if current_animation == "attack":
        is_attacking = false
        current_animation = ""

и вроде как после этого условия для того чтобы анимация играла на участке кода ниже не выполняются:

if Input.is_action_just_pressed("attack") and current_animation != "attack":
        is_attacking = true
        current_animation = "attack"
        animation_player.play("attack")

но все равно она играется бесконечно. Фул код и скрины ниже, заранее благодарю!

extends CharacterBody2D


@export var speed = 200
var animation_player
var attack_hitbox
var is_attacking = false

var current_animation = ""

func _ready():
    animation_player = $AnimatedSprite2D
    attack_hitbox = $hitbox_area
    
func _process(delta):
    velocity = Vector2.ZERO
    
    if Input.is_action_pressed("right"):
        velocity.x += 1
    if Input.is_action_pressed("left"):
        velocity.x -= 1
    if Input.is_action_pressed("down"):
        velocity.y += 1
    if Input.is_action_pressed("up"):
        velocity.y -= 1

    if Input.is_action_just_pressed("attack") and current_animation != "attack":
        is_attacking = true
        current_animation = "attack"
        animation_player.play("attack")
        
        
    if not is_attacking:    
        if velocity.length() > 0:
            velocity = velocity.normalized() * speed
            if velocity.x < 0:
                animation_player.flip_h = true
                animation_player.play("walk")
            else:
                animation_player.flip_h = false
                animation_player.play("walk")
        else:
            animation_player.play("idle")
    
    move_and_slide()

func _on_animated_sprite_2d_animation_finished():
    if current_animation == "attack":
        is_attacking = false
        current_animation = ""

        
func _on_hitbox_area_body_entered(body):
    if is_attacking and body.has_method("take_damage"):
        body.take_damage(10)
        print("you punch 10 dmg") 

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Айдар Масилов

оказалось что сама анимация была зациклена вот здесь. Может кому поможет)введите сюда описание изображения

→ Ссылка