配列(Array)に入っているオブジェクトを、十字キーで切り替えるように、スクリプトを作成しましょう。
要素0~2にある3つのオブジェクトを、左右キーで順番にスイッチして表示します。
関連記事:
左右キーでスイッチして順に入れ替える
キー操作で複数オブジェクトの表示を切り替え
ぶつかったオブジェクトを順に配列に入れる
配列にあるオブジェクトを要素番号で呼び出す
複数のオブジェクト名を配列に入れてテキスト表示
指定した要素番号にオブジェクトを入れる
指定した要素番号のオブジェクトを置く
識別番号によって処理を切り替える
配列内のオブジェクトを等間隔に並べる
配列のオブジェクトを左右キーで表示・非表示
Cube、Sphere、Cylinderを作成します。
空のオブジェクトを作成します。
ObjectChange.csを作成し、GameObjectに追加します。
ObjectChange.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 38 39 40 41 42 43 44 45 46 47 48 49 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjectChange : MonoBehaviour { public GameObject[] myArray = new GameObject[3]; public int count; void Start() { count = 0; } void Update() { if (Input.GetKeyDown(KeyCode.RightArrow)){ count++; if(count > 2){ count = 0; } } if (Input.GetKeyDown(KeyCode.LeftArrow)){ count--; if(count < 0){ count = 2; } } if(count == 0){ myArray[0].gameObject.SetActive(true); myArray[1].gameObject.SetActive(false); myArray[2].gameObject.SetActive(false); } if(count == 1){ myArray[0].gameObject.SetActive(false); myArray[1].gameObject.SetActive(true); myArray[2].gameObject.SetActive(false); } if(count == 2){ myArray[0].gameObject.SetActive(false); myArray[1].gameObject.SetActive(false); myArray[2].gameObject.SetActive(true); } } } |
要素0~2の中に、3つのオブジェクトを入れます。
ゲームプレイして、左右キーを押してみましょう。
配列(Array)に入っているオブジェクトが、順に表示、非表示をくり返していきます。
関連記事:
左右キーでスイッチして順に入れ替える
キー操作で複数オブジェクトの表示を切り替え
ぶつかったオブジェクトを順に配列に入れる
配列にあるオブジェクトを要素番号で呼び出す
複数のオブジェクト名を配列に入れてテキスト表示
指定した要素番号にオブジェクトを入れる
指定した要素番号のオブジェクトを置く
識別番号によって処理を切り替える
配列内のオブジェクトを等間隔に並べる