OncollisionEnter2D无法正常工作,但OnTriggerEnter2D工作正常

时间:2014-07-13 08:49:16

标签: unity3d 2d unityscript

我是Unity& amp;的新手我在这里试图解雇OncollisionEnter2D

我已关闭Is Kinematic对象&它的调用beeCollision.js脚本

如果我在Unity编辑器中播放,我可以看到 - 它的碰撞和放大器强制Collided-object旋转/移动。所以它肯定会发生碰撞,但某种程度上OncollisionEnter2D没有被调用。

但是,如果我打开Is TriggerOnTriggerEnter2D就可以了。

这是 beeCollision.js 脚本 -

function OncollisionEnter2D (other: Collision2D) {
    // NOT GETTING CALLED
    Debug.Log("collided 1");
}

function OnTriggerEnter2D(other : Collider2D) {
    // Works well, if Is Trigger is turned on
    Debug.Log("collided 2");
}

&安培;这是Unity编辑器的两个截图 -

  1. 播放器的设置:
  2. enter image description here

    1. 障碍物预制件的设置:
    2. enter image description here

2 个答案:

答案 0 :(得分:4)

检查此网址, http://docs.unity3d.com/ScriptReference/30_search.html?q=OnCollisionEnter2D

将“OncollisionEnter2D”更改为“OnCollisionEnter2D”,它将适合您。

答案 1 :(得分:1)

还要确保是OnCollisionEnter2D
b / c我几乎花了两个小时才挣扎,我发现我在碰撞中错过了一个i。