キーを押したままにすると、オブジェクトがアクティブ状態に。離せば非アクティブになるようにスクリプトを作成しましょう。
3つのオブジェクトを用意し、それぞれにキーを割り当て。
それぞれのキー入力で、オブジェクトのカラーが変化します。
関連記事:
ボールの色を次々と変化させる
Raycastの照射に当たれば色が変わる
キー入力によってn秒間だけ実行
キー入力でアクティブ状態
Cubeを3つ作成し、それぞれを横並びに配置します。
空のオブジェクトを作成。
CubeScript.csを作成し、GameObject(空のオブジェクト)に追加します。
CubeScript.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 30 31 32 33 34 35 36 37 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeScript : MonoBehaviour { public GameObject[] cubeArray = new GameObject[3]; void Update() { if(Input.GetKey(KeyCode.J)) { cubeArray[0].gameObject.GetComponent<Renderer> ().material.color = Color.red; } if(Input.GetKey(KeyCode.K)) { cubeArray[1].gameObject.GetComponent<Renderer> ().material.color = Color.red; } if(Input.GetKey(KeyCode.L)) { cubeArray[2].gameObject.GetComponent<Renderer> ().material.color = Color.red; } if(Input.GetKeyUp(KeyCode.J)) { cubeArray[0].gameObject.GetComponent<Renderer> ().material.color = Color.white; } if(Input.GetKeyUp(KeyCode.K)) { cubeArray[1].gameObject.GetComponent<Renderer> ().material.color = Color.white; } if(Input.GetKeyUp(KeyCode.L)) { cubeArray[2].gameObject.GetComponent<Renderer> ().material.color = Color.white; } } } |
要素0~2に、Cubeオブジェクトを追加します。
ゲームプレイしてみましょう。
今回は、「J」「K」「L」の各キーに割り当てました。
キーを押せば赤色に変わり、離れると白に切り替わります。