Methods
# checkInput(codes1, codes2, busyFlag) → {Array.<(?string|number)>}
キー入力のチェックを補佐する関数. 「キーを押し続けたときに毎フレーム反応するのでは困るが, 一定の間隔が 空いていればキーを離していなくてもキー入力を受け付けたい」ケースに用いる.
具体的には, 次の処理を実行する.
- もし codes1 の中に isJustPressed が真のものがあれば, そのような一番最初のキーコードとそのインデックスの組を返す.
- さらに, (1)に該当するものが無く, かつbusyFlagが偽のとき, codes2 の中で isDown が真である最初のキーを探す. 見つかればそのキーコードとインデックスの組を返す.
- 上記のどちらにも該当しないとき, [null, -1]を返す.
【注意】インデックスはあくまで利用時の利便性のために返している. インデックスだけではどちらのリストのものか判別できないので注意.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
codes1 |
Array.<string>
|
isJustPressedで判定するキーのリスト |
|
codes2 |
Array.<string>
|
null | busyでなければisDownで済ませてもよいキーのリスト |
busyFlag |
boolean
|
true | trueならばisJustPressedによる判定だけを行う. falseならば一部のキー (codes2の要素) についてisDownで判定を代用する. |
条件を満たすキーが見つかったとき, そのキーコードと, codes1またはcodes2におけるインデックスの組を返す.
Array.<(?string|number)>
# isDown(code) → {boolean}
そのキーが今押されているか調べる.
Parameters:
| Name | Type | Description |
|---|---|---|
code |
string
|
調べるキーのコード値 |
押されていればtrue, そうでなければfalse
boolean
# isJustPressed(code) → {boolean}
そのキーが「今は押されている」かつ「1フレーム前は押されていなかった」とき trueを返す. そうでないとき, falseを返す.
Parameters:
| Name | Type | Description |
|---|---|---|
code |
string
|
調べるキーのコード値 |
条件を満たすならばtrue, そうでなければfalse
boolean
# sync()
シーン切り替え時に「今押されているキー」を「前から押されていたこと」にする. これにより, 新しいシーンでisJustPressedが最初からtrueになるのを防ぐ (現時点の実装はupdate()と同じ挙動だが, 念のため別途定義しておく).