タイル (キャラクターを含む) がすべて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
の値をmove_right
返す必要があるため、そのメソッド内で再帰を実行しても@x
機能しません。誰にもアイデアがありますか、それとも chingu を使用せずにdraw
メソッド内のロジックを理解しようとする必要がありますか?