RGSS2を知る(19)
InputモジュールのInput#repeat?はキーの入力をオートリピート付きでチェックしてくれる。
この間隔を調整する機能はない。
ジャンルによるだけでなく、RPGでも物によってはもっと速く動かしたいとか要望は無いのだろうか。
それはさておき、オートリピートの間隔を正確に探ってみた。
b = Bitmap.new(100,100) b.fill_rect(b.rect, Color.new(255,255,255)) s1 = Sprite.new s1.bitmap = b s2 = Sprite.new s2.bitmap = b s2.x = 200 wait = 0 Graphics.frame_rate = 20 loop do Input.update s1.visible = false s1.visible = true if Input.repeat?(Input::C) s2.visible = false if Input.press?(Input::C) wait += 1 else wait = 0 end s2.visible = true if wait == 1 or (wait >= 24 and wait % 6 == 0) Graphics.update end
1フレーム目と、24フレーム目から6フレーム置きにONになる処理と、オートリピートの処理の描画タイミングが一致している。
っていうか、入力の内容をファイルに出力すれば一発なのだが、目に見えたほうが楽しいじゃない、みたいな。
ここまで書いてから気づいたとか恥ずかしくて言えない。
ほら、オートリピートってこういう感じで処理を書くんだよ、とか参考になるんじゃないかな、みたいな。
やかましいわ。