我正在做一个基于瓷砖的 RPG 类型游戏,其中瓷砖(包括角色)都是50x50
. 我以前没有用过chingu,但是看看文档,我有这个:
class Player < Chingu::GameObject
def initialize(options)
end
def move_left
@x -= 50
end
def move_right
@x += 50
end
end
class Game < Chingu::Window
def initialize
super
@player = Player.create
@player.input = {:left => :move_left, :right => :move_right}
end
end
使用这个动作,步骤之间没有流动性。现在,进行标准while key_down?(:left); move_left; end
类型处理,然后以较小的间隔移动角色使其平滑,但问题最终是角色能够在网格线之间停止(如果这有意义的话)。
似乎move_left
andmove_right
需要返回 的值@x
,因此在该方法中进行递归是行不通的。任何人都有任何想法,或者我是否应该不使用chingu并尝试找出draw
方法中的逻辑?