📅  最后修改于: 2023-12-03 15:03:22.117000             🧑  作者: Mango
onCollisionEnter2D
是Unity中一个非常重要的函数,用于检测2D物体之间的碰撞。在2D游戏中,我们经常需要使用该函数来处理物体之间的相互影响和交互,比如角色与敌人的碰撞、游戏物体之间的碰撞等。
void OnCollisionEnter2D(Collision2D collision)
collision
为碰撞信息,包括碰撞双方的相关信息:碰撞点、碰撞法线、碰撞相对速度、碰撞的撞击力等。
在脚本中添加 onCollisionEnter2D
函数,在函数中编写碰撞处理逻辑。
例如,以下是玩家和敌人碰撞后,使用碰撞信息调整敌人速度方向的示例代码:
void OnCollisionEnter2D(Collision2D collision)
{
//如果碰到的是敌人,修改敌人速度的方向
if (collision.collider.CompareTag("Enemy"))
{
//获取碰撞法线
Vector2 normal = collision.contacts[0].normal;
//更改敌人速度方向
Enemy enemy = collision.collider.GetComponent<Enemy>();
enemy.ChangeDirection(normal);
}
}
以上代码中,如果检测到碰撞的物体是敌人,则获取碰撞法线并用它来修改敌人的速度方向。
onCollisionEnter2D
函数只适用于2D游戏物体,如果需要处理3D游戏物体的碰撞,需使用 onCollisionEnter
函数。onTriggerEnter2D
函数。以上就是 onCollisionEnter2D
函数的相关介绍,希望对大家的开发有所帮助。