我正在尝试编写一个脚本,允许玩家走进一包弹药(或健康)并从中获得一些东西。我正在努力解决这个问题的实际碰撞部分,因为无论我做什么,我都无法让它发挥作用。我目前在我的弹药包对象上有这个脚本。
void onTriggerEnter(Collider collision) {
if (collision.gameObject.tag == "Player")
{
Debug.Log ("Collided");
}
}
我的弹药包对象上有一个对撞机(目前是胶囊,将是最终产品的盒子),启用了“触发器”。 我的玩家也有一个胶囊对撞机(非触发器)和一个重力启用的刚体,其他一切都是默认的。它也被标记为“播放器”。当我的播放器进入弹药包时,没有打印信息。
我尝试了几种涉及改变碰撞器和刚体运动设置的触发器的解决方案,但它们似乎都没有用。我正在使用Unity 5,所以我想知道我是否做错了什么。任何帮助将不胜感激。
答案 0 :(得分:2)
由于您的大小写错误,因此永远不会调用此函数。大写函数名的第一个字母。
void OnTriggerEnter(Collider c)
而不是:
void onTriggerEnter(Collider c)
注意:始终使用CompareTag()
代替==
来比较字符串。两者都有效,但CompareTag是GC友好的。