xuanyouAAA 2023-08-31 20:52 采纳率: 0%
浏览 6

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日

悬赏问题

  • ¥100 复现论文:matlab仿真代码编写
  • ¥15 esp32驱动GC9A01循环播放视频
  • ¥15 惠普360g9的最新bios
  • ¥30 这个功能用什么软件发合适?
  • ¥60 微信小程序,取消订单,偶尔订单没有改变状态
  • ¥15 用pytorch实现PPO算法
  • ¥15 关于调制信号的星座图?
  • ¥30 前端传参时,后端接收不到参数
  • ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
  • ¥15 机器学习预测遇到的目标函数问题