マウスイベント、キーイベント検知についてのまとめ / ツクールMV小技・Tips集
ゲームを作る上でボタンイベントを検知するのは重要になってきます
ここではそのInput関係についてまとめました
(用語 true:反応する false:反応しない)
キーの名前(デフォルト)は以下の通り
[キーの名前 : 対応するキー]
'ok' | space / Z / enter / Aボタン (ゲームパッド) |
---|---|
'cancel'(推奨) or 'escape' | escape / X / insert、テンキーの0 / Bボタン (ゲームパッド) |
'left' | ←キー / テンキーの4 / ←ボタン (ゲームパッド) |
'up' | ↑キー / テンキーの8 / ↑ボタン (ゲームパッド) |
'right' | →キー / テンキーの6 / →ボタン (ゲームパッド) |
'down' | ↓キー / テンキーの2 / ↓ボタン (ゲームパッド) |
'menu' | Y(ゲームパッド) |
'pageup' | pageup / Q / LBボタン (ゲームパッド) |
'pagedown' | pagedown / W / RBボタン (ゲームパッド) |
'shift' | shift / Xボタン (ゲームパッド) |
'tab' | tab |
'control' | control / alt |
'debug' | F9 |
キーの名前の入れる場所は()の中
サンプルコード(決定キー(Zなど)が押されていればtrue)
Input.isPressed('ok')
イベントスクリプトの条件式に入れても大丈夫です
サンプルコード(shiftが押されたときに反応するイベント条件文(スクリプト))
以下はキーの検出メソッドを紹介しています。
Input.isPressed(キーの名前)
キーが押されていればtrueフレーム数分trueを返す
サンプルコード(shiftが押されているときに実行する条件文)
if (Input.isPressed('shift')){
//実行する内容
}
Input.isTriggered(キーの名前)
キーが押された瞬間のみtrueを返す
Input.isRepeated(キーの名前)
押された瞬間と設定してあるフレーム数(デフォルトで24)キーが押されていればtrueを返します。
その後設定してあるフレーム数(デフォルトで6)の間押されていればtrue。
同時に他のキーを押しているとfalse。
Input.isLongPressed(キーの名前)
設定してあるフレーム数(デフォルトで24)ずっとキーが押されていればtrue
その後キーが押されている間フレーム分trueを返す
TouchInput.isPressed()
左クリックされていればtrue;
フレーム数trueを返す
サンプルコード(左クリックされている時に実行する条件文)
if (TouchInput.isPressed()){
//実行する内容
}
TouchInput.isTriggered()
左クリックされた瞬間のみtrueを返す
TouchInput.isRepeated()
押された瞬間と設定してあるフレーム数(デフォルトで24) 左クリックされていればtrueを返します
その後設定してあるフレーム数(デフォルトで6)の間 左クリックされていればtrue
TouchInput.isLongPressed()
設定してあるフレーム数(デフォルトで24)ずっとキーが左クリックされていればtrue
その後左クリックしている間フレーム分trueを返す
TouchInput.isCancelled()
右クリックされた瞬間のみtrueを返す
TouchInput.isMoved()
ドラッグされている間フレーム分trueを返す
TouchInput.isReleased()
左クリックが離された瞬間のみtrueを返す
TouchInput.wheelY
マウスホイールの動いた距離を検出
上に回せばマイナス
下に回せばプラス
値はマウスによりけりなのでコンソールで確かめて下さい。
私のマウスだとちょっと動かすだけで100という値が出ます
動きを検知した後は0に戻ります
サンプルコード(マウスホイールが下に動かされたら実行する条件文)
if (TouchInput.wheelY > 0){
//実行する内容
}
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。