当玩家进入触发器时,我似乎无法摧毁其气球(游戏对象)。 有谁知道如何做到这一点? 我尝试使用碰撞,但是没有用。 这是没有用的碰撞脚本(它在气球上)
public class PistolPickup : MonoBehaviour
{
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.name == "Player")
{
Destroy(collision.gameObject);
Debug.Log("Destroyed");
}
}
}
答案 0 :(得分:1)
首先,您应该了解 OnCollisionEnter 事件和 OnTriggerEnter 事件之间的区别。前者在游戏对象触摸时触发,而后者在一个重叠另一个触发时触发。
要使上述两种方法都起作用,对象必须具有对撞机。但是根据您选择的上述方法,还应该相应地检查对撞机上的 IsTrigger 选项。
因此,假设以上步骤已完成,您可以使代码看起来像这样:
public class PistolPickup : MonoBehaviour
{
void OnTriggerEnter(Collision collision)
{
if (collision.gameObject.name == "Player")
{
Destroy(this.gameObject);
Debug.Log("Destroyed the pickup.");
}
}
}
注意:要使代码正常工作,您必须检查拾取对象对撞机上的 IsTrigger 选项。