[UE4]Event Dispatchers使用实例

当前例子使用的版本是v4.10,演示的内容包括:

按下字母键时,去调用事先绑定好的Event Dispatcher,在这个Event Dispatcher中,来实现修改一个widget蓝图中一个button组件的文本。

 

1,先在Project Settings中添加一个输入动作,名字为TestOutStr,按下V键时触发。


[UE4]Event Dispatchers使用实例_第1张图片
 

2,在蓝图脚本中实现调用Event Dispatcher的操作。

这里已经建好了一个PlayerController的蓝图,名字叫:MyPlayerController_BP。打开这个蓝图后,新建一个变量:NewVar_0,string类型,默认值为“BBBB”,我们将会把这个“BBBB”字符串传递到后面定义的Custom Event中,让button的文本显示为“Button”;再新建一个Event Dispatcher,名字叫:UpdateBtnTxt,我们需要传递参数,所以为这个Event Dispatcher新建一个String参数,参数名为NewString。

[UE4]Event Dispatchers使用实例_第2张图片
 

[UE4]Event Dispatchers使用实例_第3张图片


[UE4]Event Dispatchers使用实例_第4张图片
 

 

3,这个MyPlayerController_BP蓝图的逻辑具体如下:

当按下V键时,会触发UpdateBtnTxt这个事件,同时在屏幕中打印一句“Press V++++”。

[UE4]Event Dispatchers使用实例_第5张图片
 

4,在事先建好的Widget蓝图中添加一个button和一个Text组件,这个button的ID为Button_Txt,后续蓝图中会用到这个ID,Text组件的默认值为AAAA,结构如下图所示:


[UE4]Event Dispatchers使用实例_第6张图片
 

5,打开Widget蓝图的Graph面板,右键新建一个Custom Event


[UE4]Event Dispatchers使用实例_第7张图片
 

 

6,这个Custom Event名字起为ChangeTxtEvent,由于要接受MyPlayerController_BP蓝图中传递过来的string类型参数,所以这里也新建一个string类型参数,名字为NewParam。


[UE4]Event Dispatchers使用实例_第8张图片
 

7,最后用蓝图node来连线实现逻辑,我们在Event Construct事件中绑定了事先定义好的Event Dispathcer:UpdateBtnTxt,MyPlayerController_BP蓝图中调用UpdateBtnTxt时,则会触发我们的Custom Event:ChangeTxtEvent,从而来修改button的文本。


[UE4]Event Dispatchers使用实例_第9张图片
 

 

参考资料:

UE4 Event Dispatchers

https://www.youtube.com/watch?v=k-MAALv3P-Y

 

Event Dispatchers

https://docs-origin.unrealengine.com/latest/INT/Engine/Blueprints/UserGuide/EventDispatcher/index.html

 

 

你可能感兴趣的:(UE4)