さくっと使いたい人向けにまとめてみました。
キーが押されたか?
if (Input.GetKeyDown("a")) { // aが押された!(押され続けは検知されない) } if (Input.GetButtonDown("Fire1")) { // Fire1が押された!(押され続けは検知されない) }GetButtonDown("Fire1")で入力を受け付けるキーは、Edit > Project Settings > Inputメニューから開くInput Managerの中でマッピングされています。
Fire1はデフォルトで左のCTRLキーと、ジョイスティックのボタン0にマッピングされています。
キーが離されたか?
if (Input.GetKeyUp("a")) { // aが離された! } if (Input.GetButtonUp("Fire1")) { // Fire1が離された! }
キーが押され続けているか?
if (Input.GetKey("a")) { // aが押され続けてる!(シューティングのAuto Fireなどに使う) } if (Input.GetButton("Fire1")) { // Fire1が押され続けてる! }
GetKey〜系のキーコードには、アルファベットキー以外にも以下のものが使えるようです。
Normal keys: "a", "b", "c" ... Number keys: "1", "2", "3", ... Arrow keys: "up", "down", "left", "right" Keypad keys: "[1]", "[2]", "[3]", "[+]", "[equals]" Modifier keys: "right shift", "left shift", "right ctrl", "left ctrl", "right alt", "left alt", "right cmd", "left cmd" Mouse Buttons: "mouse 0", "mouse 1", "mouse 2", ... Joystick Buttons (from any joystick): "joystick button 0", "joystick button 1", "joystick button 2", ... Joystick Buttons (from a specific joystick): "joystick 1 button 0", "joystick 1 button 1", "joystick 2 button 0", ... Special keys: "backspace", "tab", "return", "escape", "space", "delete", "enter", "insert", "home", "end", "page up", "page down" Function keys: "f1", "f2", "f3", ...
カーソルキーの「上」が押されたかチェックする場合は、以下のようになります。
if (Input.GetKeyDown("up")) { // 上が押された! }
方向キーの入力をX軸、Y軸の量で取得
// 水平方向の入力量(-1〜1) float horizontal = Input.GetAxis("Horizontal"); // 垂直方向の入力量(-1〜1) float vertical = Input.GetAxis("Vertical");GetAxis()で入力を受け付けるキーもInput Managerの中でマッピングされています。
方向キーはデフォルトで、w、a、s、dの各キーとカーソルキー、ジョイスティックにマッピングされています。
キーボードのようなデジタル入力デバイスで操作しても、押されている時間によってアナログ量を返します。
こんにちは、参考にさせてもらっています。shitt+leftarrowといったように、2つのキーを押したときに発動させることってできますか?
返信削除ブログを書いている方とは違いますが
削除if(Input.GetKey("shift")){
if(Input.GetKey("left arrow"){
}
}
という様にinputを条件にしたifの入れ子にするか
if(Input.GetKey("")&&Input.GetKey("")){
//処理
}
という形にする事でも実装出来ると思います。