バーをキーボードの左右の矢印キーで動かすために、C#スクリプトを作成します。
1.スクリプトを作成する
ヒエラルキーでバーのオブジェクトを選択します。
バーを選択 → Inspector → Add Component → New Script → スクリプトに名前を付ける
作成したスクリプトは、Projectウィンドウの「Assets」の中に保存されます。
作成済みのスクリプトがある場合は、「Add Component」の検索欄にスクリプト名を入力すると、簡単に追加できます。
2.StartとUpdateの違い
Unityのスクリプトでは、よく次の2つのメソッドを使用します。
Start()
ゲーム開始時に基本的に1回だけ実行されます。
Update()
ゲーム中、基本的に毎フレーム実行されます。
矢印キーの入力はゲーム中ずっと確認する必要があるので、バーを動かすプログラムはUpdate()の中に書きます。
3.speedを宣言する
バーの移動速度を設定するために、speedという変数を作ります。
Update()の外側に次のように書きます。
public float speed = 5.0f;
publicにしておくと、UnityのInspectorからspeedの値を変更できるようになります。
そのため、プログラムを書き直さなくても、実際にゲームを動かしながらバーの速度を調整できます。
4.左右の矢印キーの入力を取得する
Update()の中に次のコードを書きます。
float myX = Input.GetAxis("Horizontal");
Horizontalは左右方向の入力を取得します。
通常は、
←キー:マイナス方向
→キー:プラス方向
として値を取得できます。
5.バーを左右に動かす
取得した値を使って、バーの位置を変更します。
transform.position += new Vector3(myX * speed, 0, 0) * Time.deltaTime;
myXが左右の入力、speedが移動速度です。
Time.deltaTimeを掛けることで、フレームレートの違いによって移動速度が大きく変わるのを防ぎます。
完成したスクリプト
using UnityEngine;
public class BarController : MonoBehaviour
{
public float speed = 5.0f;
void Start()
{
}
void Update()
{
float myX = Input.GetAxis("Horizontal");
transform.position +=
new Vector3(myX * speed, 0, 0) * Time.deltaTime;
}
}
このスクリプトをバーに設定してゲームを実行すると、左右の矢印キーでバーを動かせるようになります。

コメント