与红宝石Gosu和Chingu的波涛汹涌的运动

时间:2015-09-23 16:27:37

标签: ruby game-physics libgosu

我正在做一个基于图块的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_leftmove_right需要返回@x的值,因此在该方法中进行递归不起作用。任何人都有任何想法,或者我应该不使用chingu并尝试找出draw方法中的逻辑?

0 个答案:

没有答案