与OnCollisionEnter2D类冲突导致的问题



我对一个简单的spike脚本有问题。我已将以下脚本附加到spike。

查看它也有效。扣球是在跳投游戏中使用的。在玩家已经跳下几个平台之后,即使玩家没有接触到尖刺,脚本也会被解析。

public class CollisionSpikes : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D other)
{
SceneManager.LoadScene(0);
}
}

以下是尖峰和它们的BoxCollider2D是如何相互连接的图片。图像

我最初怀疑,当所有对撞机相互接触时,这会导致这个错误。但问题仍然存在。以下是一段视频,您可以了解错误:youtube视频

这里有人知道我该怎么解决这个问题吗?我是Unity和C#的新手,不幸的是我被困在这里了。

谢谢你的帮助。:(

尝试放置一个Debug.Log(其他(来找出与尖峰冲突的内容。因为你没有过滤它,任何接触它的东西都会触发代码。我给你的建议是过滤它。使用一些标签。

做一些类似的事情

void OnCollisionEnter2D(Collision2D other)
{
Debug.Log(other); // Find out what is triggering the function
if(other.gameObject.tag == "player") {
SceneManager.LoadScene(0);
}
}

最新更新