UE4蓝图基础分类(5)函数

时间:2024-04-09 20:28:14

简述
在UE4中函数其实就是节点,对完成一定的功能的模块进行封装,使程序结构更清晰,易读。函数有唯一的入口和出口,但它的传入值和传出值可以有多个。
比如当前有一功能需要实现,求出两个数之间的所有水仙花数,保存到Array并返回。
注:水仙花是指一个3位数,他的每个位上的数字的3次幂之和等于它本身,(如1*1*1+3*3*3+5*5*5=153)
创建函数
转到My Blueprint面板,在Functions部分,点击“+”新建一个函数,命名为DaffodilFunc,点击Compile
UE4蓝图基础分类(5)函数
选中函数DaffodilFunc,转到Details面板,Details面板主要有属性设置,输入,输出三部分。
UE4蓝图基础分类(5)函数
属性设置及其描述

属性

描述

Description

该函数功能的说明和描述

Category

该函数类别

Keywords

关键字,可以通过它搜索函数

Compact Node Title

函数名称,该名称是绘制在函数节点上的

Pure

该函数是否是纯函数

Access Specifier

(访问修饰符)

 

Public(公有) 外部任何对象都可以访问该函数。这是默认设置

Protected(保护)仅当前蓝图及任何继承当前蓝图的蓝图可以访问该函数。

Private(私有)从当前蓝图调用该函数

Call In Editor

 

Const

该函数不能修改对象内的任何成员,只能读,不能写


属性设置如下
UE4蓝图基础分类(5)函数
设置输入输出
转到Details面板,点击Inputs后面的“+“,添加一个输入参数,命名为StartValue,设置为integer类型,默认值为0,不使用引用传递
UE4蓝图基础分类(5)函数
我们需要传递一个值区间,所以还需要添加一个输入参数,命名为EndValue,同样,设置为integer类型,默认值为999,不使用引用传递,结果如下
UE4蓝图基础分类(5)函数
传入参数有了,我们还需要返回值,点击Outputs后面的“+“,添加一个返回值,命名为ReturnValue,因为我们不知道可以找到几个水仙花数,所以不能设置一个或多个返回值,我们可以返回一个容器Array。结果如下UE4蓝图基础分类(5)函数
现在函数DaffodilFunc只是完成了输入参数和返回值的设置,还没有任何具体的实现,应该长这样
UE4蓝图基础分类(5)函数
想要实现该函数只需在中间添加功能算法即可,下面开始实现一下
UE4蓝图基础分类(5)函数
UE4蓝图基础分类(5)函数
使用函数
切换到事件图标中,搜索并执行DaffodilFunc函数,遍历返回的Array值,打印水仙花数
UE4蓝图基础分类(5)函数
结果输出
UE4蓝图基础分类(5)函数