UE4笔记-事件分发机制(1)

纯蓝图中的事件分发机制

1, 在要分发事件的地方创建一个事件调度器(Event Dispacther)并命个名,例如:就在主角Pawn的蓝图中创建一个事件调度器就叫MyEventDispatcher,当主角血量发生变更时就播放。如果需要在广播事件的时候带参数就在该事件调度器的Details面板Inputs属性项里边点加号‘+’,来添加要携带的参数。因为要播放血量变动,肯定要带一个血量integer类型的参数了。

 

 

 2, 在需要接收的地方Bind 这个事件调度器。例如:一个UI蓝图(User Widget)中需要实时显示血量,就要订阅这个事件调度器广播了,也就是Bind这个Event Dispacher。具体的步骤就是a,Get Player Pawn b,Cast to 正真的Pawn,c,Bind MyEventDispatcher,然后从event引脚拖出输入线创建自己的事件(其实就是把自己定义的事件绑到这个事件调度器上,让事件调度器广播驱动自定义的事件),为啥要从event引脚拖出输入线来创建自己的事件呢,主要是为了创建匹配这个事件调度器要广播事件形式,比如这个事件是要带参数的,单独Add Custom Event是不带参数的,那样拖出来创建的话就能直接创建一个参数匹配的事件了。还有一种更方便方法是,Cast to 正真的Pawn后直接Assign MyEventDispatcher,这样绑定+创建自定义事件一步搞定。

 

3, 绑定后就可以在自定义的事件中干自己的事了。

猜你喜欢

转载自www.cnblogs.com/hansenya/p/12667694.html