2015-12-18 1 views
1

То, что я пытаюсь сделать, это заставить мой монстр исчезнуть, когда мой основной шар столкнется с ним. Итак, я прикрепил этот сценарий к своему монстру, но я не могу заставить его работать. Мне удалось уничтожить компонент RigidBody монстра, но я не могу уничтожить все это.Как уничтожить весь сборник, когда игровой объект сталкивается с главным персонажем?

using UnityEngine; 
using System.Collections; 

public class Dying: MonoBehaviour { 
private Rigidbody rbody; 
public GameObject prefab; 


void Start() { 
    rbody = GetComponent<Rigidbody>(); 
GameObject obj = Instantiate(prefab); 

} 


void Update() { 


} 
void OnCollisionEnter(Collision col) 
{ 
    print(col.collider.name); 
    if(col.collider.name =="unitychan") 
    { 
     Destroy(prefab.gameObject); 

    } 
} 
} 

ответ

2

Возможно, проблема заключается в том, что вы пытаетесь уничтожить объект, выполняющий скрипт, или какой-либо другой случайный объект. Обычно вы никогда не уничтожаете объект, запускающий скрипт. Кроме того, col содержит объект, с которым столкнулся. поэтому вы можете просто сделать это:

void OnCollisionEnter(Collision col) 
{ 
    if (!col.collider.name == "unitychan") return; 

    Destroy(col.gameObject); 
} 
+1

Спасибо, Остин. :) – user5641102

Смежные вопросы