こんにちは。ラルトン(@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ゲームを作る際にはとても重要です。
キーボード入力を使用することでキャラクターを動かすなども考えられますね。
ぜひキーコード一覧も活用ください!
それでは!
