简述
在UE4中函数其实就是节点,对完成一定的功能的模块进行封装,使程序结构更清晰,易读。函数有唯一的入口和出口,但它的传入值和传出值可以有多个。
比如当前有一功能需要实现,求出两个数之间的所有水仙花数,保存到Array并返回。
注:水仙花是指一个3位数,他的每个位上的数字的3次幂之和等于它本身,(如1*1*1+3*3*3+5*5*5=153)
创建函数
转到My Blueprint面板,在Functions部分,点击“+”新建一个函数,命名为DaffodilFunc,点击Compile
在UE4中函数其实就是节点,对完成一定的功能的模块进行封装,使程序结构更清晰,易读。函数有唯一的入口和出口,但它的传入值和传出值可以有多个。
比如当前有一功能需要实现,求出两个数之间的所有水仙花数,保存到Array并返回。
注:水仙花是指一个3位数,他的每个位上的数字的3次幂之和等于它本身,(如1*1*1+3*3*3+5*5*5=153)
创建函数
转到My Blueprint面板,在Functions部分,点击“+”新建一个函数,命名为DaffodilFunc,点击Compile
选中函数DaffodilFunc,转到Details面板,Details面板主要有属性设置,输入,输出三部分。
属性设置及其描述
属性 |
描述 |
Description |
该函数功能的说明和描述 |
Category |
该函数类别 |
Keywords |
关键字,可以通过它搜索函数 |
Compact Node Title |
函数名称,该名称是绘制在函数节点上的 |
Pure |
该函数是否是纯函数 |
Access Specifier (访问修饰符)
|
Public(公有) 外部任何对象都可以访问该函数。这是默认设置 Protected(保护)仅当前蓝图及任何继承当前蓝图的蓝图可以访问该函数。 Private(私有)从当前蓝图调用该函数 |
Call In Editor |
|
Const |
该函数不能修改对象内的任何成员,只能读,不能写 |
属性设置如下
设置输入输出
转到Details面板,点击Inputs后面的“+“,添加一个输入参数,命名为StartValue,设置为integer类型,默认值为0,不使用引用传递
我们需要传递一个值区间,所以还需要添加一个输入参数,命名为EndValue,同样,设置为integer类型,默认值为999,不使用引用传递,结果如下
传入参数有了,我们还需要返回值,点击Outputs后面的“+“,添加一个返回值,命名为ReturnValue,因为我们不知道可以找到几个水仙花数,所以不能设置一个或多个返回值,我们可以返回一个容器Array。结果如下
现在函数DaffodilFunc只是完成了输入参数和返回值的设置,还没有任何具体的实现,应该长这样
想要实现该函数只需在中间添加功能算法即可,下面开始实现一下
使用函数
切换到事件图标中,搜索并执行DaffodilFunc函数,遍历返回的Array值,打印水仙花数
结果输出