Prefab出現のタイミングで、条件によってサイズを変化させてみます。
クリックするたびに、Sphereのプレハブが3段階で大きくなり、また元の大きさに戻ります。
関連記事:スライダーでPrefabのサイズを変える
Prefabサイズを変えるスクリプト
まずは、Prefabを作成するところから、始めます。
Sphereオブジェクトを作成します。
Sphereをプロジェクトビューにドラッグ&ドロップして、Prefabデータに変換します。
Sphereの元データは削除します。
続いて、空のオブジェクトを作ります。
ClickSphere.csを作成して、GameObject(空のオブジェクト)に追加します。
ClickSphere.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 ClickSphere : MonoBehaviour { public GameObject prefab; private GameObject ballObj; private Vector3 mousePosition; private int count; void Start() { count = 0; } void Update() { if (Input.GetMouseButtonDown(0)) { mousePosition = Input.mousePosition; mousePosition.z = 10.0f; GameObject obj = Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition),Quaternion.identity); count++; if(count == 1){ obj.transform.localScale = new Vector3(0.3f, 0.3f, 0.3f); } if(count == 2){ obj.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); } if(count == 3){ obj.transform.localScale = new Vector3(2.0f, 2.0f, 2.0f); count = 0; } } } } |
プレハブのフィールドに、Sphereを入れます。
プレイして、ゲームビューをクリックしてみましょう。
クリックするたびに大きさが変わり、3回変われば、元の大きさに戻ります。
生成されたprefabデータをobjに格納し、条件によってサイズ変更させています。
関連記事:
スライダーでPrefabのサイズを変える