というわけで、今日は久しぶりにxyzzyを開いてせこせことコピペw。
ほとんどSDLの機能をそのまま使えるかと思いきや、微妙にめんどくさい。
mzp曰く、SDL::Event2.pollを直接使わずに実装したらどうかということだったが、pollの値を使わないとなるとキー判定はSDL::Key.scanをやったあとに
SDL::Key.press?(key)
を使うことになるのだろうが、この関数、(多分)キーにそれぞれ割り当てられた値を引数にとって、そのキーが押されてるかどうか判定するものだが、この値をどう取得するかが謎。
キーを設定するインターフェースとしては押すキーをシンボルで(例えばリターンを押すのを設定する場合は:Returnで)渡したい。
SDL::Key.get_key_name(key)でキーの値から名前(returnとか)を得ることはできるんだが、その逆ができない。というわけでちょっと相談、:Returnとかを渡してSDL::Key::RETURNの値を取得するなんかうまい方法ない?
それかSDLの形式に従って最初から値をSDL::Key::RETURNで渡すようにしたほうがいいのかな。

あ、あと、SDL::Key.scanで取得するキーの状態を更新するにはどっちみちどっかでSDL::Event2.pollを使わないといけないっぽい。