UE4: Event Dispatcher

[目前接触到的Version: UE 4.16.2]

一.简介

UE4 中Event Dispatcher是非常强大的功能,非常适合在各个蓝图之间实现通信。通过将一个或多个事件绑定到事件调度程序,可以在调用事件调度程序后使所有这些事件触发。这些事件可以在Blueprint Class中绑定,但是Event Dispatcher也可以在Level Blueprint中触发事件。

二.原理

Event Dispatcher其实就是C++(C#)中Delegate机制。但是Delegate机制的涵盖范围比事件调度器要大一些(C#中有delegate关键词,可以用来实现delegate机制; event关键词,对应的就是EventDispatcher)。在C#中,delegate是一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个签名(signature),并且它"只能持有与它的签名相匹配的方法的引用"。

 

Delegate所实现的功能类似于C++中的函数指针。它允许将一个方法作为变量传递给一个对象,使得这个对象能够调用该方法。但是delegate与函数指针有很大不同,具备更多的优点:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值