另一个onTriggerEnter()

时间:2018-06-30 19:03:34

标签: c# unity3d

我知道许多人已经发布了该命令的问题。我已经尝试了所有不同的建议,但仍然无法使用onTriggerEnter方法为我工作。

我正在遵循一组教程,目的是创建一种微型游戏,您可以使用FirstPersonCharacter控制器在其中收集硬币。

FirstPersonCharacter附加有RigifBody,应用了Gravity并且是Kinematic,将“ Player”标记应用到对象。

硬币具有旋转脚本(默认资产之一),带有“触发器”复选框和收集脚本的网格碰撞器。 “硬币”标签已应用于此游戏对象,并且是静态的。

public class collect : MonoBehaviour 
{
    private void onTriggerEnter(Collider c0ol)
    {
        Debug.Log("Registered Trigger");
    }
    private void onCollisionEnter(Collision col)
    {
        Debug.Log("Registered Collision");
    }
}

我还在每个方法中都放置了一个Debug.Log(),以确保在碰撞或触发器被激活的情况下我得到了返回。

我跑过硬币,没有任何反应。我也尝试将刚体部件也放入硬币中,但是没有触发任何动作。我很清楚,静态触发器对撞机(硬币)应该向this document底部的表发送一个带有刚体(玩家)的触发器。

有什么我想念的吗?

预先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要像OOnCollisionEnter中那样使用大写字母OnTriggerEnter

C#区分大小写,因此fooFoofOo不同。

这应该有效:

public class Collect : MonoBehaviour 
{
    private void OnTriggerEnter(Collider c0ol)
    {
        Debug.Log("Registered Trigger");
    }
    private void OnCollisionEnter(Collision col)
    {
        Debug.Log("Registered Collision");
    }
}