Godot的Sprite2D人物无法左转,请d a l a o前来解答。
我写的代码如下(网上找的):
引用 皆我百晓生 小程序回复内容作答:
要让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节点的缩放。当移动到左侧时,水平缩放将变为负值,从而实现了人物的左转效果。
希望这能解决您的问题!