UE4的蓝图就跟C++等编程语言在概念上是非常类似的。在蓝图中你可以定义变量、函数、宏等等,高级点的,它还可以被继承。这还不算,我们还可以定义蓝图接口,规范子类的行为。基本上C++中可以做的,蓝图也可以做到,而且是所见即所得,拖拖拽拽,即时编译,立即生效。
一般的做法是,程序员在C++中做好功能模块,关卡设计师,用蓝图创建游戏的逻辑,关卡师不需要会编程、可以自己创建逻辑,至少在逻辑这一层不需要程序员来配合。这样的效率会高很多,而且也没有类似Lua这样的脚本语言参与,设计师的门槛要低很多了。
这里记录下蓝图中自定义事件的使用方法:
在蓝图的工具栏上,我们可以看到5个按钮,通过这5个按钮我们可以分别创建多种蓝图的元素。
通过在蓝图中右键、添加事件-》添加自定义事件,可以创建一个自定义事件。自定义事件可以指定输入参数、还可以指定事件是否能在客户端和服务器端同步。
复制那里有四个选项,默认是不能复制,还可以选择多路传送、在服务器上运行、在其所属的客户端上运行,如果需要让事件在网络上传送,可以选这几个选项。
输入值一栏可以添加参数,类型和变量类型一样。
我们来做个例子,实现当按下K按键时,触发这个自定义事件,打印一句Hello。
触发自定义事件,就像调用函数一样,直接调用即可,如果有参数,也可以像函数一样指定参数。
我们还可以动态的绑定将事件绑定到不同的调度器,就像高级编程语言中的Delegate一样。比如这样一个例子,我们按下K,为调度器绑定MyEvent,按下F,为调度器绑定MyEvent1,同样是调用同一个调度器,触发的行为是不同的。
时间: 2024-09-30 10:57:58