複数アイテム(オブジェクト)を、左右キーで順番に切り替わるようにしてみましょう。
3つのオブジェクトを回転させながら、順にスイッチさせています。
中央のオブジェクトは手前に表示して、他のアイテムは奥に移動しています。
関連記事:
キーを押すたびにオブジェクトを切り替える
ボタンを押すたびに順番にオブジェクトを切り替える
ボタンでオブジェクトを切り替えるしくみ
オブジェクトの表示・非表示を切りかえる
キー操作で複数オブジェクトの表示を切り替え
配列のオブジェクトをキー操作で切り替える
キー操作でオブジェクトの順序を入れ替え
Cube、Sphere、Cylinderをそれぞれ1つずつ作成し、カラーをつけます。
空のオブジェクトを3つ作成して、それぞれ名前を変更します。
もう1つ、空のオブジェクトを作成します。
ChangeObject.csを作成し、GameObjectに追加しましょう。
ChangeObject.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 50 51 52 53 54 55 56 57 58 59 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChangeObject : MonoBehaviour { public GameObject cube; public GameObject sphere; public GameObject cylinder; public int count; private float speed; public Transform centerPos; public Transform rightPos; public Transform leftPos; void Start() { count = 1; speed = 0.5f; centerPos.transform.position = new Vector3(0, 0, -2); rightPos.transform.position = new Vector3(2, 0, 2); leftPos.transform.position = new Vector3(-2, 0, 2); } void Update() { if (Input.GetKeyDown(KeyCode.RightArrow)){ count++; if(count > 3){ count = 1; } } if (Input.GetKeyDown(KeyCode.LeftArrow)){ count--; if(count < 1){ count = 3; } } if(count == 1){ cube.transform.position = Vector3.MoveTowards(cube.transform.position, centerPos.position, speed); sphere.transform.position = Vector3.MoveTowards(sphere.transform.position, rightPos.position, speed); cylinder.transform.position = Vector3.MoveTowards(cylinder.transform.position, leftPos.position, speed); } if(count == 2){ cube.transform.position = Vector3.MoveTowards(cube.transform.position, rightPos.position, speed); sphere.transform.position = Vector3.MoveTowards(sphere.transform.position, leftPos.position, speed); cylinder.transform.position = Vector3.MoveTowards(cylinder.transform.position, centerPos.position, speed); } if(count == 3){ cube.transform.position = Vector3.MoveTowards(cube.transform.position, leftPos.position, speed); sphere.transform.position = Vector3.MoveTowards(sphere.transform.position, centerPos.position, speed); cylinder.transform.position = Vector3.MoveTowards(cylinder.transform.position, rightPos.position, speed); } } } |
GameObjectを選択し、それぞれのフィールドに、オブジェクトを入れましょう。
ゲームプレイして、左右キーを押してみましょう。
順序をスイッチさせながら、3つのオブジェクトが入れ替わります。
関連記事:
キーを押すたびにオブジェクトを切り替える
ボタンを押すたびに順番にオブジェクトを切り替える
ボタンでオブジェクトを切り替えるしくみ
オブジェクトの表示・非表示を切りかえる
キー操作で複数オブジェクトの表示を切り替え
配列のオブジェクトをキー操作で切り替える