#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;※そもそもそう言うキー操作が伺かで必要なのか?と言う疑問もありますが。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS