与 OnCollisionEnter2D 碰撞问题 class
Problem by collision with OnCollisionEnter2D class
我对简单的尖峰脚本有疑问。我已将以下脚本附加到尖峰。
查看它也有效。尖刺用于跳下游戏。在玩家已经跳下几个平台后,即使玩家没有碰到尖刺,脚本也会被解决。
public class CollisionSpikes : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D other)
{
SceneManager.LoadScene(0);
}
}
这里是尖峰和它们的 BoxCollider2D 如何相互连接的图片。
image
我首先怀疑当所有对撞机相互接触时会导致此错误。但是问题还是出现了。这是一个视频,因此您可以了解错误:
youtube video
这里有人知道我该如何解决这个问题吗?我对 Unity 和 C# 比较陌生,不幸的是我被困在这里了。
感谢您的帮助。 :)
尝试放置一个 Debug.Log(other) 以找出与您的尖峰碰撞的是什么。因为您没有过滤它,所以任何接触它的东西都会触发该代码。我给你的建议是过滤它。使用一些标签。
做类似的事情
void OnCollisionEnter2D(Collision2D other)
{
Debug.Log(other); // Find out what is triggering the function
if(other.gameObject.tag == "player") {
SceneManager.LoadScene(0);
}
}
我对简单的尖峰脚本有疑问。我已将以下脚本附加到尖峰。
查看它也有效。尖刺用于跳下游戏。在玩家已经跳下几个平台后,即使玩家没有碰到尖刺,脚本也会被解决。
public class CollisionSpikes : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D other)
{
SceneManager.LoadScene(0);
}
}
这里是尖峰和它们的 BoxCollider2D 如何相互连接的图片。 image
我首先怀疑当所有对撞机相互接触时会导致此错误。但是问题还是出现了。这是一个视频,因此您可以了解错误: youtube video
这里有人知道我该如何解决这个问题吗?我对 Unity 和 C# 比较陌生,不幸的是我被困在这里了。
感谢您的帮助。 :)
尝试放置一个 Debug.Log(other) 以找出与您的尖峰碰撞的是什么。因为您没有过滤它,所以任何接触它的东西都会触发该代码。我给你的建议是过滤它。使用一些标签。
做类似的事情
void OnCollisionEnter2D(Collision2D other)
{
Debug.Log(other); // Find out what is triggering the function
if(other.gameObject.tag == "player") {
SceneManager.LoadScene(0);
}
}