Unity Listの使い方を教えてください
Unityで、パズルゲームをつくていて、
リストに入れたオブジェクトを Destroyで消したいのですが
動的配列の追加がうまくできません。
インスペクターでリストのサイズを変えても
一週目は消えてくれるのですが
リストのクリア時にサイズが0になってしまいます
リストのサイズが0だと、addできないのでしょうか?
この警告文は関係ありますか?
Assets/TouchManager.cs(17,22): warning CS0649: Field 'TouchManager.touchBallList' is never assigned to, and will always have its default value null
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System; 5 6 7public class TouchManager : MonoBehaviour 8{ 9 // Start is called before the first frame update 10 void Start() 11 { 12 13 } 14 15 [SerializeField] 16 List<GameObject> touchBallList; 17 18 19 void Update() 20 { 21 var mousePos = Input.mousePosition; 22 if(Input.GetMouseButtonDown(0)) 23 { 24 List<GameObject> touchBallList = new List<GameObject>(); 25 Ray ray = Camera.main.ScreenPointToRay(mousePos); 26 var h = Physics.RaycastAll(ray, 100.0f); 27 if(h.Length > 0) 28 { 29 if(h[0].collider.tag=="Ball") 30 { 31 touchBallList.Add(h[0].collider.gameObject); 32 33 } 34 } 35 } 36 if(Input.GetMouseButton(0)) 37 { 38 if(touchBallList.Count!=0) 39 { 40 Ray ray = Camera.main.ScreenPointToRay(mousePos); 41 var h = Physics.RaycastAll(ray, 100.0f); 42 if(h.Length > 0) 43 { 44 if(h[0].collider.tag=="Ball") 45 { 46 touchBallList.Add(h[0].collider.gameObject); 47 } 48 } 49 } 50 } 51 if(Input.GetMouseButtonUp(0)) 52 { 53 ReleaseObject(); 54 } 55 } 56 57 public void ReleaseObject() 58 { 59 //離したらマテリアルを消す 60 foreach(GameObject go in touchBallList) 61 { 62 Destroy(go); 63 } 64 touchBallList.Clear(); 65 } 66 67}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/13 07:28
2021/08/13 07:33 編集