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

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

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

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
    }}

  • 修飾キーの中でも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
    }}

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

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-09 (日) 16:15:38