问题描述
一般来说,我是编码的新手,我试图制作一个精灵更改纹理,使其具有行走的动画效果,但是我似乎无法弄清楚如何对代码应用wait()或其他内容。
if Input.is_action_pressed("move_up"):
vel.y -= 1
facingDir = Vector2(0,-1)
$LilBoiTexture.texture = load("res://LilBoiAssets/LilBoiBackward.png")
$LilBoiTexture.texture = load("res://LilBoiAssets/LilBoiBackward2.png")
感谢您的帮助。我正在尝试在idk 0.5范围内从第一个纹理更改为第二个纹理,如果我不知道该怎么做的话,可能会遇到麻烦。
解决方法
有一种比手动更改子画面图片更简单的方法。您可以使用tutorial中所示的“ AnimatedSprite”节点。步骤如下:
1-将AnimatedSprite节点添加到角色中。
2-在AnimatedSprite的属性中,在Frames->中选择新的SpriteFrames。
3-单击您刚刚创建的SpriteFrames,另一个菜单将出现在编辑器底部。将动画图像拖放到此菜单的中心。
4-将动画名称从默认名称更改为其他名称(例如,后退)。
5-在您的代码中,您只需要执行以下操作:
if Input.is_action_pressed("move_up"):
$AnimatedSprite.play("walkback")
else:
# you can also play an idle animation if you have one
$AnimatedSprite.stop()