Unity5で、スクリプトで作成したPrefabを消去する方法を教えて下さい!
今、2秒毎に画面の上からPrefabが落ちてくる様になってます。
私は、ボタンを押すと、その落ちてきたPrefabが消えるようにしたいのです。
全体のスクリプト
lang
1public GameObject formulaPrefab; 2public GameObject UpButton; 3private TextMesh formulaText; 4public GameObject formulaClone; 5bool clickUpButton; 6 7void Start () { 8 startPosition = new Vector3 (-1,7,0); 9 time = 0.0f; 10 UpButton = GameObject.Find ("UpButton"); 11} 12 13void Update () { 14 clickUpButton = UpButton.GetComponent<UpButton> ().upButtonClicked; 15 time = time + Time.deltaTime; 16 if(dropCount <= 10){ 17 if(time >2.0){ 18 createMath (); 19 time = 0.0f; 20 } 21 if(clickUpButton == true){ 22 Destroy (formulaClone); 23 clickUpButton = false; 24 } 25 } 26} 27 28void createMath(){ 29 formulaClone = (GameObject)Instantiate (formulaPrefab,startPosition,formulaPrefab.transform.rotation); 30 formulaText = formulaClone.GetComponent<TextMesh> (); 31 int random = (int)(200 * Random.value); 32 formulaText.text = random.ToString(); 33 dropCount += 1; 34}
UpButton.cs(ボタンのスクリプト)
lang
1public bool upButtonClicked = false; 2public void OnClick(){ 3 upButtonClicked = true; 4}
読みにくいコードで申し訳ないです。
現在、Prefabが落ちてきて、ボタンをクリックすると、確かに消えます。しかし、そのあとのPrefabが落ちてこなくなってしまいます。
Prefabについてよく分かっていないと思うのですが、Destory()はPrefab全てを消してしまうのでしょうか??
拙い日本語、コードですが、教えていただけると嬉しいです!!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。