事件派发与监听连写

closeBtn.addEventListener(MouseEvent.CLICK,function(e:Event):void{
      dispatchEvent(new FlexEvent("close"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中,事件派发、注册和监听可以通过以下几个步骤完成: 1. 创建自定义事件类 首先,我们需要创建一个自定义事件类,这个类需要继承自`UnityEvent`类。例如,我们可以创建一个名为`MyEvent`的事件类: ```csharp using UnityEngine.Events; public class MyEvent : UnityEvent<int, string> {} ``` 在上面的代码中,我们定义了一个名为`MyEvent`的自定义事件类,它可以传递两个参数:一个整数和一个字符串。 2. 发送事件 要发送事件,我们需要获取对事件管理器的引用,并使用`Invoke`方法触发事件。例如,我们可以在一个名为`MySender`的脚本中发送事件: ```csharp public class MySender : MonoBehaviour { private MyEvent myEvent; private void Start() { myEvent = new MyEvent(); myEvent.AddListener(OnMyEvent); myEvent.Invoke(42, "hello"); } private void OnMyEvent(int intParam, string stringParam) { Debug.LogFormat("MyEvent received with params: {0}, {1}", intParam, stringParam); } } ``` 在上面的代码中,我们创建了一个`MyEvent`对象,并添加了一个事件侦听器。调用`Invoke`方法将触发事件,并将整数值42和字符串值“hello”传递给事件侦听器。 3. 注册事件侦听器 要注册事件侦听器,我们需要获取对事件管理器的引用,并使用`AddListener`方法将侦听器添加到事件列表中。例如,我们可以在一个名为`MyListener`的脚本中注册事件侦听器: ```csharp public class MyListener : MonoBehaviour { private MyEvent myEvent; private void OnEnable() { myEvent = new MyEvent(); myEvent.AddListener(OnMyEvent); } private void OnDisable() { myEvent.RemoveListener(OnMyEvent); } private void OnMyEvent(int intParam, string stringParam) { Debug.LogFormat("MyEvent received with params: {0}, {1}", intParam, stringParam); } } ``` 在上面的代码中,我们在`OnEnable`方法中注册事件侦听器,并在`OnDisable`方法中注销事件侦听器。每当`MyEvent`被触发时,`OnMyEvent`方法将被调用,并将传递的参数打印到控制台中。 总之,Unity提供了一个强大的事件系统,使得我们可以轻松地实现事件派发、注册和监听。通过自定义事件类、使用`AddListener`和`Invoke`方法,我们可以在游戏中实现各种事件,并响应它们。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值