UE4函数和事件的区别

/ 0评 / 0

区别

函数和事件在很多时候都可以混用。

函数可以有返回值,而事件不能有返回值。

函数可以有局部变量,而事件没有。

函数定义独占蓝图整个页面,而多个事件可以共享同一个页面。

函数中不能执行 delaytimeline 等延迟操作,而事件可以。

函数如果不添加返回值,在蓝图中调用的时候,和调用事件的节点图标是一致的。但添加了返回值,图标就会变成函数的标识。所以调用没有返回值的函数和调用事件,在节点上是没啥区别的。

在老版本的虚幻编辑器里,重写父类没有返回值的函数,会变成事件。

函数调用会立即执行并等待结果,事件调用只是触发。

函数执行在同一线程,事件执行在不同线程。但是如果事件中没有延迟等操作,和函数执行也是一样的。

测试执行顺序

比如在调用一个带 delay 延迟的事件,然后再调用一个函数。函数的执行不会等待事件执行完毕才执行,也就是事件中的 delay 后面的流程,相当于异步执行,不会阻塞调用事件节点后面的节点。

下图的打印顺序为:1、3、2

选择建议

因函数的执行顺序有保证,所以优先使用函数。避免出现一些因为延迟而导致的执行顺序错误的问题。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注