我对Unity还很陌生,对于所有擅长C#的人来说,这可能是一个愚蠢的问题,但我不知道为什么OnTriggerEnter在这个程序中不起作用。我已经按照教程中的说明键入了它,但它在游戏中没有作用。帮助?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DetectCollisions : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
void OnTriggerEnter(Collider other)
{
Destroy(gameObject);
Destroy(other.gameObject);
}
}
}
我还没试过,我不知道该试什么。
1条答案
按热度按时间41ik7eoe1#
好吧,因为你似乎很难理解这里发生了什么。
在
您将
OnTriggerEnter
作为local function嵌套在Update
方法下。这样Unity在试图通过其消息传递系统调用它时就不会“知道”/找到它。您更希望将其作为类级别的普通方法
并且现在由于
Update
和Start
是空的,所以实际上最好将它们沿着移除;)