【问题标题】:How can i change the character image non Ruby Gosu如何更改非 Ruby Gosu 的角色图像
【发布时间】:2018-07-30 01:02:01
【问题描述】:

我正在使用 ruby​​ gosu 库以原始口袋妖怪游戏的风格构建一个基本游戏。我设法弄清楚如何移动最初加载的精灵,但我不知道如何清除该精灵并绘制新的精灵,例如后视图代替它的位置。

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

我在初始化方法中创建了 var,然后像这样绘制它:

定义初始化

@character_image = Gosu::Image.new("media/images/char.png", :tileable => false)
结尾
默认绘制
    @character_image.draw(@character_location_X, @character_location_Y, 1)
结尾

【问题讨论】:

    标签: ruby libgosu


    【解决方案1】:

    你需要为你的角色创建一个class,它需要一个updatedraw函数。在更新功能中,当收到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 可以使用它允许您在角色精灵表的某些帧范围之间进行选择。

    【讨论】:

      猜你喜欢
      • 2017-07-08
      • 1970-01-01
      • 2020-10-10
      • 2020-09-20
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多