gpt4 book ai didi

c# - 碰撞后不调用Unity5 OnTriggerEnter2D(2D游戏)

转载 作者:行者123 更新时间:2023-11-30 15:18:29 26 4
gpt4 key购买 nike

我是 Unity3D 5 的全新新手,我在玩我的第一款涉及碰撞检测的 2D 游戏时遇到了问题。我的移动对象是一个球,它有 Rigidbody2D 和 CircleCollider2D。我的固定“对撞机或触发器”是一个 BoxCollider 并附有一个脚本。 OnTriggerEnter2D 应该在球穿过固定框时触发。我也尝试过 OnCollisionEnter2D,但我相当确定我应该使用 OnTriggerEnter2D,因为我的固定框被标记为触发器。

我的代码:

public class LoseCollider : MonoBehaviour {

public LevelManager levelManager;

void OnCollisionEnter2D(Collision2D collision)
{
print("collide");
levelManager.LoadLevel("Lose");
}

void OnTriggerEnter2D(Collider2D trigger)
{
print("trigger");
levelManager.LoadLevel("Lose");
}

void OnCollisionEnter(Collision collision)
{
print("collide");
levelManager.LoadLevel("Lose");
}

void OnTriggerEnter(Collider trigger)
{
print("trigger");
levelManager.LoadLevel("Lose");
}
}

如您所见,我正在测试所有变体,但没有一个被调用。这是我的对象的 Unity 属性:

Ball

enter image description here

我确定我遗漏了一些简单的东西,如果有人可以向我指出。

最佳答案

如果您要使用 OnTriggerEnter2D,您还必须使用 2D Collider。如第二个屏幕截图所示,您目前正在使用 BoxCollider

将其更改为 BoxCollider2D 并且应该调用您的 Collision 回调函数。

关于c# - 碰撞后不调用Unity5 OnTriggerEnter2D(2D游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43698271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com