#author("2022-09-24T13:32:39+09:00","","") *OnKeyPressイベントの挙動に関するメモ [#y67e214a] OnKeyPressについては、[[CROW・SSPリファレンスに解説が載っている:http://crow.aqrs.jp/reference/all/Shiori/main.html#OnKeyPress]]のですが、「同時に複数のキーを押した時はどうなるの?」と思ったので、実験してみた結果をまとめます。&br;実験に使用したベースウェアは、SSP/2.02.29です。これ以外のベースウェアでは、ベースウェアからの通知内容が異なる可能性があります。 *修飾キーとその他のキーの同時押しをした場合 [#a52094b6] |reference0|''修飾キーではない方の''押されたキーの識別子| |reference1|''修飾キーではない方の''キーコード| |reference2|キーを押したままの時の繰り返し回数(SSPのみ)| |reference3|キーイベントが来たキャラクターウインドウID(SSPのみ)| |''reference4''|''修飾キーがカンマ区切りで列挙される''| -太字で強調した部分が、リファレンスに載っていなかった部分です。 -たとえばAlt+Shift+Ctrl+A、と押すと、次のようになります #pre{{ 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 }} 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では発生しません)。 #pre{{ GET SHIORI/3.0 Charset: UTF-8 Sender: SSP SecurityLevel: local ID: OnKeyPress Reference0: shift Reference1: 16 Reference2: 1 Reference3: 0 Reference4: shift }} GET SHIORI/3.0 Charset: UTF-8 Sender: SSP SecurityLevel: local ID: OnKeyPress Reference0: shift Reference1: 16 Reference2: 1 Reference3: 0 Reference4: shift *普通のキーを同時押しした場合 [#h939ba2c] reference0に、同時押ししたキーの中から1つが通知されます。それ以外のキーは無視されるようです。&br;シューティングゲームであるような、発射ボタン(Zキー)を押しながら、ボム発動(Xキー)、と言うようなことはできないようです。&br;※そもそもそう言うキー操作が伺かで必要なのか?と言う疑問もありますが。