func update_animation_and_katana(direction: Vector2) -> void:
if direction.y < 0 and direction.x == 0:
animated_sprite_2d.play("aiming_back")
elif direction.y > 0 and direction.x == 0:
animated_sprite_2d.play("aiming_front")
elif direction.x < 0 and direction.y == 0:
animated_sprite_2d.play("aiming_left")
elif direction.x > 0 and direction.y == 0:
animated_sprite_2d.play("aiming_right")
elif direction.x > 0 and direction.y < 0:
animated_sprite_2d.play("aiming_back_right")
elif direction.x > 0 and direction.y > 0:
animated_sprite_2d.play("aiming_front_right")
elif direction.x < 0 and direction.y < 0:
animated_sprite_2d.play("aiming_back_left")
elif direction.x < 0 and direction.y > 0:
animated_sprite_2d.play("aiming_front_left")
else:
animated_sprite_2d.play("aiming_front")
spawn_katana()
func spawn_katana():
if last_katana:
last_katana.queue_free() # Удаляем предыдущую катану
var katana_instance = katana.instantiate()
katana_instance.position = player.position
var direction = player.player_direction
if direction != Vector2.ZERO:
# Поворачиваем катану, добавляя 90 градусов
katana_instance.rotation = direction.angle() + PI / 2 # Корректировка угла на 90 градусов
get_parent().add_child(katana_instance)
last_katana = katana_instance