#Why is the sprite distorted?

1 messages · Page 1 of 1 (latest)

quiet zodiac
#

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
#

katana scene

glad nest
#

Rotating sprites always causes that.
The engine can't automatically generate a sprite that will look good when rotated since the pixels are being missaligned. It can use smoothing to make it less jarring, but there will always be deformation of some kind.

It is normal for 2D games.

#

Increasing resolution or reducing zoom may help.

quiet zodiac