【发布时间】:2017-04-29 16:58:05
【问题描述】:
我是 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 属性:
和
如果有人可以向我指出,我确定我遗漏了一些简单的东西。
【问题讨论】:
-
使用 boxcollider2D
-
@CristianoSoleti 把它作为答案。
标签: c# unity3d 2d collision-detection unity5