我正在Unity中制作一款射击游戏,敌人看起来很接近人类,因为我添加了许多不同的形状来组成一个敌人。问题是,当我射击敌人时,不同的形状消失了,而不是整个敌人。以下是我的碰撞代码。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WeaponCollision : MonoBehaviour
{
void OnParticleCollision(GameObject other)
{
Destroy(other);
}
}
有没有办法删除整个对象,而不是所有不同的部分?谢谢!
2条答案
按热度按时间qc6wkl3g1#
您可以使用UnityEngine.Object类中的Destroy方法销毁Unity中的父对象。以下是您如何使用该方法:使用UnityEngine;
公共类示例{公共游戏对象parentObject;
}
在本例中,Destroy方法销毁parentObject及其所有子对象。Destroy方法将对象引用作为其参数,该参数可以是对游戏对象、组件或任何其他UnityEngine.Object的引用。
还可以通过向Destroy方法传递第二个参数,指定销毁对象之前的延迟时间(以秒为单位):
销毁(父对象,5.0f);
在此示例中,parentObject将在5秒后销毁。
yacmzcpb2#
你可以尝试
GameObject.transform.parent
来获取当前变换的父对象。你可以在Transform.parent读取做这样的事