CyberCyric 2023-08-31 20:52 采纳率: 0%
浏览 9

Godot2DSprite人物无法左转

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

img

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-09-03 16:53
    关注

    引用 皆我百晓生 小程序回复内容作答:
    要让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节点的缩放。当移动到左侧时,水平缩放将变为负值,从而实现了人物的左转效果。

    希望这能解决您的问题!

    评论

报告相同问题?

问题事件

  • 创建了问题 8月31日