我是Unity和c#的新手,我试图让基础知识失败,但我似乎遇到了碰撞的麻烦。我想让一个坠落的物体在与另一个静止的物体碰撞时被摧毁。所有对象都设置为Unity中的Box Collider 2D,经过几个小时的搜索后,我似乎无法弄清楚它有什么问题。任何帮助将不胜感激!
using UnityEngine;
使用System.Collections;
public class Destroy:MonoBehaviour {
// 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);
}
} }
答案 0 :(得分:0)
确保标记相同(使用大写字母),并使用col.tag ==“Target”。
GameObject必须具有BoxCollider2D或其他具有属性isTrigger的Collider2D为假。
我总是使用OnTriggerEnter2D(Collider2D col)因为我不希望我的pj停止下降或其他什么