UE 事件分发器

1.首先在需要事件发生的类中添加分发事件(可以在事件中加input来为区分一组对象的类似事件)

2.绑定事件

创造匹配的事件,在该事件中写想要的功能,事件需要写在事件图表

也可以通过蓝图自动识别子widget事件进行绑定

3.选择调用事件的地方,可以在本类中创建事件调用该事件

然后其他类可以调用该类的次事件,此处是为了一个在外部没有click事件的Widget创造一个点击事件,将其内部的点击事件连接到分发事件上,从而点起其内部的按钮时可以在外部调用该分发的事件

也可以在别的类中像调用函数一样调用该事件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uE中的事件分发可以帮助用户在程序中管理和处理事件。使用事件分发可以将事件从一个对象传递到另一个对象,实现对象之间的解耦。在uE中,事件分发使用了观察者模式,当一个事件发生时,事件分发会通知已注册的监听并执行相应的操作。 使用uE事件分发的方法如下: 1. 创建一个事件分发对象。 2. 注册监听对象,可以是任何实现了监听接口的对象。 3. 在需要触发事件的地方,调用事件分发的方法并传递事件对象作为参数。 4. 事件分发会自动通知已注册的监听对象,并执行相应的操作。 示例代码如下: ```c++ // 定义一个事件类型 class MyEvent { public: int data; }; // 定义一个监听接口 class MyListener { public: virtual void onEvent(MyEvent event) = 0; }; // 定义一个事件分发 class MyEventDispatcher { private: std::vector<MyListener*> listeners; public: void registerListener(MyListener* listener) { listeners.push_back(listener); } void dispatchEvent(MyEvent event) { for (auto listener : listeners) { listener->onEvent(event); } } }; // 实现一个监听 class MyEventListener : public MyListener { public: void onEvent(MyEvent event) override { std::cout << "Event data: " << event.data << std::endl; } }; // 使用事件分发 int main() { MyEventDispatcher dispatcher; MyEventListener listener; dispatcher.registerListener(&listener); MyEvent event; event.data = 123; dispatcher.dispatchEvent(event); return 0; } ``` 在上面的示例代码中,我们创建了一个名为`MyEventDispatcher`的事件分发,并实现了一个名为`MyEventListener`的监听。我们使用`registerListener`方法将`MyEventListener`对象注册到事件分发中,并使用`dispatchEvent`方法触发事件,并将`MyEvent`对象作为参数传递给事件分发。当事件被触发时,事件分发会自动通知已注册的监听对象,并执行相应的操作。在上面的示例代码中,我们实现了`MyEventListener`监听的`onEvent`方法,当事件被触发时,会输出事件的数据到控制台上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值