如何更改角色图像非Ruby Gosu

时间:2018-02-19 18:30:01

标签: ruby libgosu

使用ruby gosu库以原始口袋妖怪游戏的风格构建基本游戏。我设法弄清楚如何移动最初加载的精灵,但我无法弄清楚如何清除该精灵并绘制新的精灵,例如后视图取而代之。

我一直在查看文档并遇到了"插入"方法,虽然我不确定这是否是我想要的。有什么帮助吗?

我在初始化方法中创建var,然后在以后绘制它:

def initialize

@character_image = Gosu::Image.new("media/images/char.png", :tileable => false)
end
def draw
    @character_image.draw(@character_location_X, @character_location_Y, 1)
end

1 个答案:

答案 0 :(得分:0)

您需要为角色创建一个,这需要一个更新绘制功能。在更新功能中,当接收到诸如WASD的输入时,您可以切换子画面的图像。如果没有Sprite工作表,则必须加载多个图像并在它们之间切换。

以下是一些红宝石伪代码可以帮助您:

@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

这是一种非常基本的方法,但是如果使用Sprite表,则可以创建Gosu可以使用的自己的动画类,该动画类允许您在角色Spritesheet的某些帧范围之间进行选择。