Godot2DSprite人物无法左转

Godot的Sprite2D人物无法左转,请d a l a o前来解答。
我写的代码如下(网上找的):

img

引用 皆我百晓生 小程序回复内容作答:
要让Godot中的2D Sprite人物左转,您可以在GDScript中更改Sprite节点的缩放值。以下是一个简单的示例:

extends Sprite

var previous_direction = Vector2(1, 0) # 默认方向

func _ready():
    pass # 在这里初始化

func _process(delta):
    var direction = Vector2.ZERO # 方向

    if Input.is_action_pressed("move_left"):
        direction.x -= 1
    if Input.is_action_pressed("move_right"):
        direction.x += 1
    if Input.is_action_pressed("move_up"):
        direction.y -= 1
    if Input.is_action_pressed("move_down"):
        direction.y += 1

    if direction == Vector2.ZERO: # 如果没有输入方向,则使用之前的方向
        direction = previous_direction

    if direction.x != 0:
        previous_direction = direction.normalized() # 保存最新方向
        scale.x = abs(scale.x) * direction.normalized().x # 根据水平方向缩放Sprite

这段代码假定您已经创建了名为"move_left","move_right","move_up"和"move_down"的用户输入动作。

这里我们通过检查用户键盘输入来确定移动方向,然后根据移动方向来更改Sprite节点的缩放。当移动到左侧时,水平缩放将变为负值,从而实现了人物的左转效果。

希望这能解决您的问题!