1
は、このコードはChingu、Gosuの2Dゲームフレームワークに依存Ruby用のゲームライブラリで非常に奇妙な例外を引き起こしている原因:Chingu入力プロパティは、例外
class StopSignAttack < Chingu::Window
def initialize
super(1000, 1000, false)
self.input = { :escape => :close }
self.caption = "Stop Sign ATTACK!!!"
push_game_state(Start.new)
end
end
の値Chingu :: Windowの入力プロパティは、エスケープキーを押すとゲームウィンドウを閉じるだけです。エスケープキーを押すとウィンドウが閉じますが、爆弾がひどく、この例外:
def close
super.close
end
:
/Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/helpers/input_dispatcher.rb:63:in `block in dispatch_input_for': undefined method `button_down?' for nil:NilClass (NoMethodError)
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/helpers/input_dispatcher.rb:62:in `each'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/helpers/input_dispatcher.rb:62:in `dispatch_input_for'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/window.rb:148:in `block in intermediate_update'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/window.rb:148:in `each'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/window.rb:148:in `intermediate_update'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/chingu-0.8.1/lib/chingu/window.rb:133:in `update'
from stop_sign_attack.rb:24:in `<main>'
私はスーパークラスcloseメソッドを呼び出すと、:: Chinguでcloseメソッドを実装するウィンドウを試してみましたESCキーを押したときに
そして、私はこの例外を取得:
stop_sign_attack.rb:23:in `close': undefined method `close' for nil:NilClass (NoMethodError)
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/gosu-0.7.41-universal-darwin/lib/gosu/swig_patches.rb:19:in `rescue in block (2 levels) in <class:Window>'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/gosu-0.7.41-universal-darwin/lib/gosu/swig_patches.rb:12:in `block (2 levels) in <class:Window>'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/gosu-0.7.41-universal-darwin/lib/gosu/swig_patches.rb:26:in `show'
from /Users/sams/.rvm/gems/ruby-1.9.3-p0/gems/gosu-0.7.41-universal-darwin/lib/gosu/swig_patches.rb:26:in `show'
from stop_sign_attack.rb:28:in `<main>'
任意のアイデアが高く評価されています。
あなたは大きなポイントを作っていますが、私のトラブルシューティングはそれほど深刻ではないと私は認めます。私は入力のために釣っていた。 – codewise