你需要为你的角色创建一个类,它需要一个更新和绘制函数。在更新功能中,当收到 WASD 等输入时,您可以切换精灵的图像。如果您没有精灵表,则必须加载多个图像并在它们之间切换。
这里有一些 ruby 伪代码可以帮助你:
@back_image = Gosu::Image.new("media/images/back.png")
@front_image = Gosu::Image.new("media/images/front.png")
@left_image = Gosu::Image.new("media/images/left.png")
@right_image = Gosu::Image.new("media/images/right.png")
current_image = front_image
这在您的更新功能中:
if up
current_image = back_image
elsif down
current_image = front_image
elsif right
current_image = right_image
elsif left
current_image = left_image
end
然后在你的绘图功能中,你需要做的就是
def draw
@current_image.draw(@character_location_X, @character_location_Y, 1)
end
这是一种非常基本的方式,但是如果您使用精灵表,您可以创建自己的动画类,Gosu 可以使用它允许您在角色精灵表的某些帧范围之间进行选择。