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になる処理と、オートリピートの処理の描画タイミングが一致している。
っていうか、入力の内容をファイルに出力すれば一発なのだが、目に見えたほうが楽しいじゃない、みたいな。
ここまで書いてから気づいたとか恥ずかしくて言えない。
ほら、オートリピートってこういう感じで処理を書くんだよ、とか参考になるんじゃないかな、みたいな。
かましいわ。