c# - 另一个 onTriggerEnter()
问题描述
我知道很多人已经用这个命令发布了他们的问题。我已经尝试了所有不同的建议,但我仍然无法让 onTriggerEnter 方法为我工作。
我正在关注一组教程,目标是创建一种迷你游戏,您可以在其中使用 FirstPersonCharacter 控制器收集硬币。
FirstPersonCharacter 附加了一个 RigifBody,应用了重力并且它是运动学的,“玩家”标签应用于对象。
硬币有一个旋转脚本(默认资产之一)、一个带有 Is Trigger 复选框的网格碰撞器和收集脚本。“硬币”标签应用于此游戏对象,它是静态的。
public class collect : MonoBehaviour
{
private void onTriggerEnter(Collider c0ol)
{
Debug.Log("Registered Trigger");
}
private void onCollisionEnter(Collision col)
{
Debug.Log("Registered Collision");
}
}
我还在每个方法中放置了一个 Debug.Log() 以确保在碰撞或触发器被激活的情况下我得到返回的东西。
我穿过硬币,没有任何东西被触发。我也尝试将刚体组件放入硬币中,但没有任何触发。我很清楚静态触发器对撞机(硬币)应该发送一个带有刚体(玩家)的触发器,该触发器与本文档底部的表格一致。
有什么我想念的吗?
预先感谢您的帮助。
解决方案
您需要O
在OnCollisionEnter
和中使用大写字母OnTriggerEnter
。
C# 区分大小写,因此foo
与Foo
or不同fOo
。
这应该有效:
public class Collect : MonoBehaviour
{
private void OnTriggerEnter(Collider c0ol)
{
Debug.Log("Registered Trigger");
}
private void OnCollisionEnter(Collision col)
{
Debug.Log("Registered Collision");
}
}