UNITY UnityEvent.addEvent
时间: 2024-09-19 19:09:52 浏览: 48
Unity中的UnityEvent是一个自定义事件系统,它允许开发者创建和管理事件,这些事件可以在游戏的不同部分之间传递信息。当你需要在一个脚本中触发某个动作,并希望其他组件响应这个动作时,可以使用UnityEvent。
UnityEvent.addEvent()方法是用来添加新的事件到事件系统中的。例如,你可以创建一个名为`OnPlayerCollide`的UnityEvent,然后通过`addEvent()`方法将这个事件关联到特定的回调函数。当游戏中发生预设的碰撞事件时,如果有组件订阅了这个事件,那么订阅的函数就会被执行。
使用示例:
```csharp
public class MyScript : MonoBehaviour
{
public UnityEvent OnPlayerCollide;
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Player"))
{
// 添加事件处理
OnPlayerCollide.AddAction(OnCollisionReaction);
}
}
private void OnCollisionReaction()
{
// 这里是当玩家碰撞时要执行的函数
Debug.Log("Player collided!");
}
}
```
在这个例子中,`MyScript`的`OnCollisionEnter`函数会在检测到玩家碰撞时添加回调`OnCollisionReaction`到`OnPlayerCollide`事件上。当实际发生碰撞时,会自动调用该函数。
阅读全文