Skip to main content
 首页 » 资源教程 » UE4教程

UE4信息交互-关卡蓝图内的交互

2016年09月05日 18:50:4410650

UE4版本 4.8.1

一、事件调用函数的方式

1> 第一步:打开关卡蓝图(菜单Blueprints->Open Level Blueprint)

如图:

 UE4信息交互-关卡蓝图内的交互 UE4教程 第1张

2> 打开关卡蓝图的图表,默认的情况都是通过 [Event Begin Play] 事件开始的.

通过单击鼠标右键创建 [Event Begin Play] 事件

[Event Begin Play]事件是,游戏中所有物体加载完成后触发此事件。

3> 在来创建一个节点[Print String]

[Print String]函数用来在屏幕左上方打印一条语句。

4> 将[Event Begin Play]与[Print String]进行连接

如图:

 UE4信息交互-关卡蓝图内的交互 UE4教程 第2张

5> 将在屏幕的左上角打印出 [helle] 字符串

如图:

 UE4信息交互-关卡蓝图内的交互 UE4教程 第3张

通过[Event Begin Play] 事件去调用[Print String]函数

由于[Print String]函数是C++底层实现的,不能双击查看实现内容。

二、创建自定义函数间接交互

1> 创建自定义函数

在关卡蓝图左边找到[MyBlueprint]->[Functions]选项。

单击[+]创建一个函数并修改函数名称为[PrintStringCustom]

创建一个自定义的打印函数并封装UE中的[Print String]函数

图4

 UE4信息交互-关卡蓝图内的交互 UE4教程 第4张

图5

 UE4信息交互-关卡蓝图内的交互 UE4教程 第5张

2> 当新建自定义函数后,关卡蓝图中会自动出现一个[Print String Custom]图表

1)在[Print String Custom]图表中,新建[Print String]函数并打[Hello]字符串

2)在新建[Print String]函数并打[There!]字符串

3)将[Print String Custom]与[Print String]进行连接

4)这样就完成了[Print String Custom]自定义函数的实现。

[Print String Custom]函数功能就是连续打印两个字符串。

如图6

 UE4信息交互-关卡蓝图内的交互 UE4教程 第6张

3>回到[Event Graph]图表中来调用刚刚创建的[Print String Custom]函数

1)在左边的函数列表中找到[Print String Custom]函数并拖拽到[Event Graph]图表中

由于是自定义的[Print String Custom]函数,双击此函数就可以查看函数的内容。

如图7

 UE4信息交互-关卡蓝图内的交互 UE4教程 第7张

2)然后,将[Event Begin Play] 事件连接到[Print String Custom]函数

然后屏幕左上角打印了[Print String Custom]函数输出的字符串

如图8

 UE4信息交互-关卡蓝图内的交互 UE4教程 第8张

如图9

 UE4信息交互-关卡蓝图内的交互 UE4教程 第9张

这就是通过自定义[Print String Custom]函数去间接的去调用[PringString]函数.

三、创建自定义事件交互

事件:没有输入只有输出的,主动执行的这样的结点,都是事件。如[Event Begin Play]

其实本质上还是有输入的,只过这些调用是在C++底层去处理。在蓝图层面上,我可以理解为自动触发。

1>在[Event Graph]图表中,空白处右键在搜索框中输入[custom]

选择[Add Event]->[Add Custom Event]

图:10

 UE4信息交互-关卡蓝图内的交互 UE4教程 第10张

2>修改新生成的自定义名称为[CE_PrintString]

图:11

 UE4信息交互-关卡蓝图内的交互 UE4教程 第11张

3>自定义的事件[CE_PrintString]如何让它去触发呢?

可以在其它的位置去驱动调用它,不会像函数从左边连入从右边连出的形式。

4>新建[PringString]函数,当自定义事件触发后会打印字符串.字符串为[CE_PrintString  Event Fire]

图:12

 UE4信息交互-关卡蓝图内的交互 UE4教程 第12张

先删除其它不需要的输出信息,然后编译并运行.

但是屏幕上没有输出会任何信息。原因是没有任何地方调用自定义[CE_PrintString]事件。

5>在[Event Graph]图表的其它位置,按右键输入[CE_PrintString]

选择[Call Function]->[CE Print String] 事件。 那什么进候调用呢?

6> 新添加键盘上的[F]事件,当用户按下键盘上的F键时,就会触发[CE_PrintString]事件。

图:13

 UE4信息交互-关卡蓝图内的交互 UE4教程 第13张

触发顺序是,当按下F键时,上面F键是先触发的[CE_PrintString]事件,然后[CE_PrintString]事件在调用[Pring String]函数

图:14

 UE4信息交互-关卡蓝图内的交互 UE4教程 第14张

这是通过第三种方式,自定义事件来做消息交互。

四、示例在自定义的函数中调用自定义事件

1>在自定义的[Print String Custom]函数中调用[CE_PrintString]自定义事件

这样就实现了在函数里面去调用函数外面全局的事件

图:15

 UE4信息交互-关卡蓝图内的交互 UE4教程 第15张

2>在[Event Graph]图表中用[Event Begin Play] 事件连接到[Print String Custom]函数

当点击[Play]后,屏幕上打印了三条输出语句。

这样就实现了在函数内部调用自定义事件的方式。

图:16

 UE4信息交互-关卡蓝图内的交互 UE4教程 第16张

需要说明的是:

1>在函数内部是无法自定义事件的。在函数内部右键是没有[Add Event]->[Add Custom Event]。

函数是局部的不能建立全局自定义事件的。

自定义事件生命周期为游戏的开始到结束。

函数的生命周期为调用开始时到执行结束后。


评论列表暂无评论
发表评论