给个unity OnCollisionEnter2D使用实例
时间: 2024-01-15 12:03:11 浏览: 145
unity Effector2D 示例
在Unity中,可以使用OnCollisionEnter2D函数来检测2D物体之间的碰撞。以下是一个使用OnCollisionEnter2D的简单示例:
首先,在Unity编辑器中创建一个2D场景,并在场景中创建两个物体。
然后,在其中一个物体上添加一个带有Rigidbody2D组件和Collider2D(例如BoxCollider2D)的游戏对象。
接下来,创建一个脚本并将其附加到另一个物体上。在该脚本中,编写以下代码:
```csharp
using UnityEngine;
public class CollisionExample : MonoBehaviour
{
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Player"))
{
Debug.Log("Player collided with " + collision.gameObject.name);
}
}
}
```
在上述代码中,我们定义了一个OnCollisionEnter2D函数,并使用collision参数来获取碰撞信息。我们使用CompareTag函数检查碰撞的物体是否有"Player"标签,如果有,就输出一条带有物体名称的调试信息。
保存脚本后,在Unity编辑器中选择带有Rigidbody2D和Collider2D的物体,并将脚本拖放到Inspector面板上。
当运行场景并使两个物体碰撞时,OnCollisionEnter2D函数将被触发,输出相应的调试信息。
记得在脚本所在物体上添加标签为"Player"的标签,以便正确触发碰撞检测。
这是一个简单的使用OnCollisionEnter2D的示例,你可以根据需要扩展和修改代码来适应你的项目需求。
阅读全文