参考:
https://docs.unrealengine.com/zh-CN/Programming/UnrealArchitecture/Delegates/Multicast/index.html
概念:
可以绑定到多个函数并一次性同时执行它们的委托。
这里我计划使用多播委托开两个灯
多播委托的定义:
DECLARE_DYNAMIC_MULTICAST_SPARSE_DELEGATE_OneParam
定义的委托的类型必须是F开头
所以我定义的函数如下
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FMultiDelegate, bool,enableLight);
括号里面的分别为委托名,参数类型,参数名称。
触发多播委托
multiDelegate.Broadcast(true);
这里是C++的代码,下面我们用蓝图实现一个开灯的功能
我一步一步解释一下
首先BeginPlay---》获取为MyTrigger的类---》条件判断---》绑定委托---》执行事件
蓝图节点截图:
BeginPlay :
获取为MyTrigger类,注意这里的条件
获取第一个Actor
判断是否为空
绑定事件
还需要自定义事件,最终实现了开灯的操作