プレーヤーが動いている間のみ、呼び出されるプログラムを作成してみましょう。
十字キー操作でCubeを移動させているときだけ実行されて、赤色に変わります。
動いていない時は、色はグレーになります。

関連記事:
移動している時だけ実行する
マウスを押している間だけ音が鳴る
マウスを押した時間だけオブジェクトを拡大
移動中の時だけ実行される
CubeとPlane(平面)を作成します。

PlayerMove.csを作成し、Cubeに追加します。

PlayerMove.csを記述します。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour {     void Start()     {         GetComponent<Renderer>().material.color = Color.gray;     }     void Update()     {         float inputX = Input.GetAxis("Horizontal") * Time.deltaTime * 3.0f;         float inputZ = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f;         transform.position = new Vector3 (             transform.position.x + inputX, transform.position.y, transform.position.z + inputZ         );         if(inputX!=0 || inputZ!=0)         {             GetComponent<Renderer>().material.color = Color.red;         }         else         {             GetComponent<Renderer>().material.color = Color.gray;         }     } } | 
ゲームプレイして、Cubeを動かしてみましょう。

動いている間は赤色に、動きをやめた時はグレーに変色します。
inputXでは左右キー、inputZでは上下キーの入力情報を取得します。
Input.GetAxisで得る入力情報には1か-1が入ります。
これを利用して、0以外の数値になった際には、赤色にかわるようにスクリプトを作成しました。
 
	   
         
         
           
         
           
        