OnKeyPressイベントの挙動に関するメモ

OnKeyPressについては、CROW・SSPリファレンスに解説が載っているのですが、「同時に複数のキーを押した時はどうなるの?」と思ったので、実験してみた結果をまとめます。
実験に使用したベースウェアは、SSP/2.02.29です。これ以外のベースウェアでは、ベースウェアからの通知内容が異なる可能性があります。

修飾キーとその他のキーの同時押しをした場合

reference0修飾キーではない方の押されたキーの識別子
reference1修飾キーではない方のキーコード
reference2キーを押したままの時の繰り返し回数(SSPのみ)
reference3キーイベントが来たキャラクターウインドウID(SSPのみ)
reference4修飾キーがカンマ区切りで列挙される
  • 太字で強調した部分が、リファレンスに載っていなかった部分です。
  • たとえばAlt+Shift+Ctrl+A、と押すと、次のようになります
GET SHIORI/3.0
Charset: UTF-8
Sender: SSP
SecurityLevel: local
ID: OnKeyPress
Reference0: a
Reference1: 65
Reference2: 1
Reference3: 0
Reference4: shift,ctrl,alt
  • 修飾キーの中でもSHIFTキーだけは特殊で、SHIFTを押した時点でイベントが発生します(CtrlとAltでは発生しません)。
GET SHIORI/3.0
Charset: UTF-8
Sender: SSP
SecurityLevel: local
ID: OnKeyPress
Reference0: shift
Reference1: 16
Reference2: 1
Reference3: 0
Reference4: shift

普通のキーを同時押しした場合

reference0に、同時押ししたキーの中から1つが通知されます。それ以外のキーは無視されるようです。
シューティングゲームであるような、発射ボタン(Zキー)を押しながら、ボム発動(Xキー)、と言うようなことはできないようです。
※そもそもそう言うキー操作が伺かで必要なのか?と言う疑問もありますが。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-09-24 (土) 13:32:39