OnCollisionEnter2D不起作用,我不知道为什么

时间:2014-07-15 17:06:14

标签: 2d

我是Unity和c#的新手,我试图让基础知识失败,但我似乎遇到了碰撞的麻烦。我想让一个坠落的物体在与另一个静止的物体碰撞时被摧毁。所有对象都设置为Unity中的Box Collider 2D,经过几个小时的搜索后,我似乎无法弄清楚它有什么问题。任何帮助将不胜感激!

using UnityEngine;

使用System.Collections;

public class Destroy:Mo​​noBehaviour {

// Use this for initialization
void Start () {
    transform.position = new Vector2 (0, -10);
    Debug.Log ("Game Start");
}

// Update is called once per frame
void Update () {

}
void OnCollisionEnter2D(Collision2D col)
{
    if (col.gameObject.tag == "Target") //|| (col.gameObject.tag == "fallingCube2")) 
    {
        Debug.Log ("There has been a collision!");
        Destroy (col.gameObject);
    }
    else 
    if (col.gameObject.tag == "otherTarget")
    {
        Debug.Log ("There has been a collision!");
        Destroy (col.gameObject);
    }

} }

1 个答案:

答案 0 :(得分:0)

确保标记相同(使用大写字母),并使用col.tag ==“Target”。

GameObject必须具有BoxCollider2D或其他具有属性isTrigger的Collider2D为假。

我总是使用OnTriggerEnter2D(Collider2D col)因为我不希望我的pj停止下降或其他什么