こんにちは。ラルトン(@raruton_blog)です。
- Untiyでキーボード入力する方法が分からない…
- 具体的にどういうコードを書けばキーボード入力できるの?
- 指定のキーの入力を検出するコードは?
UnityでPC向けゲームを作るときに、キーボード入力によって操作したい場面は多いと思います。
そこで、本記事ではスクリプトでのキーボード入力の方法について解説します。
結論、Inputクラスを使用することでキーボードを検出することができます。
この記事を読めば、「スクリプトでのキーボード入力の方法」、「任意のキーの検出方法」がわかります。
Inputクラスについて
Inputクラスを使うことで、以下のキー入力タイミングを取得することができます。
- キーを押したとき
- キーを押している間
- キーを離したとき
このInputクラスを活用することで、「矢印キーを押しているときにキャラクターを動かす」ということが実現できます。
キーの押すタイミングを取得する方法
ここからは、キーボードの押すタイミングを取得する方法を解説します。
取得するタイミングによるコードの違いは次の通りです。
- キーを押したとき
- Input.GeyKeyDown(KeyCode.A)
- キーを押している間
- Input.GeyKey(KeyCode.A)
- キーを離したとき
- Input.GeyKeyUp(KeyCode.A)
ここからはそれぞれの使い方をサンプルコード付きで解説します。
キーを押したとき
ジャンプするときなど、キーを押した瞬間に動作させたい場面で使えます。
aキーを押したかどうかは以下のコードで取得できます。
Input.GeyKeyDown(KeyCode.A)
押したときはtrueが、押していないときはfalseが返ってきます。
例として、aキーを押したときに「ジャンプ!」とコンソールに出力するコードを書いてみます。
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("ジャンプ!");
}
}
Updateの中に書くことで、ずっとキー入力を受け付けています。
aキーを押した数だけ「ジャンプ!」と出力されます。
キーを押している間
キャラクターの移動など、キーを押している間ずっと動作させたい場面で使えます。
aキーを押しているかどうかは以下のコードで取得できます。
Input.GeyKey(KeyCode.A)
押しているときはtrueが、押していないときはfalseが返ってきます。
例として、aキーを押している間「右に移動!」とコンソールに出力するコードを書いてみます。
void Update()
{
if (Input.GetKey(KeyCode.A))
{
Debug.Log("右に移動!");
}
}
Updateの中に書くことで、ずっとキー入力を受け付けています。
aキーを押している間だけ「右に移動!」と出力されます。
キーを離したとき
ジャンプキーを離したときに空中から降下を始めるなど、キーを離した瞬間に動作させたい場面で使えます。
aキーを離したかどうかは以下のコードで取得できます。
Input.GeyKeyUp(KeyCode.A)
離したときはtrueが、離していないときはfalseが返ってきます。
例として、aキーを離したときに「降下する!」とコンソールに出力するコードを書いてみます。
void Update()
{
if (Input.GetKeyUp(KeyCode.A))
{
Debug.Log("降下する!");
}
}
Updateの中に書くことで、ずっとキー入力を受け付けています。
aキーを離したときだけ「降下する!」と出力されます。
各キーコードの一覧
各キーコードは、以下の***の部分に変えることで使用することができます。
Input.GeyKey(KeyCode.***)
例えば、エンターキーの場合は以下のとおりです。
Input.GeyKey(KeyCode.Return)
アルファベットキー
キー名 | キーコード |
---|---|
aキー | A |
bキー | B |
xキー | X |
yキー | Y |
zキー | Z |
数字キー
キー名 | キーコード |
---|---|
0キー | Alpha0 |
1キー | Alpha1 |
2キー | Alpha2 |
8キー | Alpha8 |
9キー | Alpha9 |
矢印キー
キー名 | キーコード |
---|---|
上キー | UpArrow |
下キー | DownArrow |
右キー | RightArrow |
左キー | LeftArrow |
その他のキー
キー名 | キーコード |
---|---|
スペースキー | Space |
エンターキー | Return |
バックスペースキー | Backspace |
デリートキー | Delete |
タブキー | Tab |
エスケープキー | Escape |
左シフトキー | LeftShift |
右シフトキー | RightShift |
まとめ
いかがだったでしょうか。
キーボード入力はPCゲームを作る際にはとても重要です。
キーボード入力を使用することでキャラクターを動かすなども考えられますね。
ぜひキーコード一覧も活用ください!
それでは!