Unity2D 碰撞检测问题?

3

我正在制作一个小游戏,想知道有没有人能帮我处理一些碰撞检测的问题。 目前我有一个物品,它带有Rigidbody2D和BoxCollider2D组件。它从天上掉下来。然后我有一个地板(也带有BoxCollider2D组件),当物品撞到地板上时,我希望它被销毁。 我目前正在尝试:

 void Start()
{
    gameScore = 0;
    setScore();
}

void OnCollisionEnter2D(Collider2D col)
{
    if (col.gameObject.tag=="chimney")
    {
        gameScore++;
        setScore();
        Destroy(col.gameObject);
    }
}

void setScore()
{
    scoreText.text = "Score: " + gameScore.ToString();
}

通过使用instantiate()函数,可以生成下落的物体。

目前我没有得到任何响应。如果有人知道如何帮助我,我将非常感激。 谢谢您的时间!

注意:错误已经修复!

我在这里遇到的问题是因为我需要使用Collision2D而不是Collider2D。

1个回答

0

如果这种情况再次发生或者对于其他人而言并不是问题,那么可能是碰撞器从未被触发。当手动控制物体移动时,当物体在帧之间穿过物体并从另一侧出来时,我曾经遇到过这种情况。在这种情况下,有三种方法可以解决它:使用更厚的碰撞器、减慢物体速度或手动控制碰撞。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接