首先我们打开关卡蓝图界面.
然后点击Variables旁边的’+’号,添加一个变量取名Data.然后修改类型为int类型,那么怎么把变量变成容器呢?注意在第二个圈起来的地方,可以选择这个容器的类型,从上到下的四个类型分别是:1.单独的变量.2.数组.3.Set.4.Map.然后编译一下.
然后在初始值的地方可以设置若干个初始值.我这里设置了三个,当你需要删除其中的初始值的时,你可以点击右边的按钮跳出菜单进行删除.这样,数组就定义完了.
我们先添加和上次一样的两个节点.
接下来,主要演示了在UE4蓝图中数组容器的增删改查四个基本的操作.在此之前,我们先像使用变量一样,把Data数组点击左键拖拽到事件图中,发现也有Set和Get两个菜单项.分别是获取数组和设置数组.
1.获得元素的值
右键点击事件图,输入get array,选择Array下的Get节点.Get节点中左上角的按钮连接取得值的数组.左下角的值表示用户想要取得数组元素值的下标.
我们读取下标为2的元素,也就是最后一个元素.
然后进行输出,就会得到3.
注意:如果你想要取消节点之间的连线,你可以右键点击连接的按钮,进行取消连线.
2.增加元素.
在事件图中右键输入array add.得到Array下的Add节点.然后把Data数组拖拽到事件图中获得数组.然后把获得的数组和Add节点连接起来,代表Add节点增加的是Data数组的元素.然后用细线把关卡开始事件和Add节点连接起来.
我们可以在Add节点的左下角输入新元素的值,当然新元素是增加在Data数组的末尾的.左下角的一个连接按钮,可以让别的节点返回的值连接起来,作为新元素的值来使用.节点右下角的按钮可以返回新元素的下标.
然后我们用到Get节点获取数组的指定下标元素的值.我们获取下标为3的元素,也就是最后一个元素的值.然后连接起来.
编译后运行,得到结果10.
增加元素除了尾增加,还用中间的插入.右键事件图,输入insert array,选择Array下的Insert节点.
其中Insert节点的左边中间的是用户要插入的新元素的值.而左下角的是新元素插入的下标.
3.删除元素.
右键事件图,输入remove array,选择Array下的Remove 节点,发现有两个,Remove Index和Remove Item.Remove Index节点是删除数组指定下标.而Remove Item节点是删除数组中所有值为用户指定的元素.这里我们使用Remove Index节点.然后连接起来.编译后运行.
4.运行中创建数组.
除了使用一早就创建好的数组外,我们也可以在运行中去创建一个数组.右键输入 make array,选择Make Array节点.
在1处,使用Make Literal Int 创建一个临时的整数,然后作为新创建的数组的初始值.而这个Set节点,是使用之前在变量栏手动定义的Data数组拖拽下来的,然后使用Set菜单的而出来的节点,用新数组给Data数组进行赋值.
5.遍历数组.
我们这里使用一个按键节点,当我们按下P时,打印数组所有的元素.
LoopBody 指的是循环体的内容.ArrayElement指的是数组当前下标的元素值,而Array Index则是返回当前数组的下标值.
6.Shuffle
Shuffle节点用于打乱数组的元素顺序.我们在上一个事件图的基础上添加几个节点:
Shuffle节点只是单纯的一个功能节点.打乱数组内的元素顺序.
编译后运行可以明显看到打乱后的顺序和以前的顺序不同了.
7.Contains Item Find Item
Contains Item节点用来判断数组中是否包含某个元素,而Find Item节点用来查询数组中的某个元素,返回找到的元素的下标,如果数组中同时存在两个相同的元素,则返回最先找到的元素的下标.
8.Length Clear
Length 节点用来返回数组的元素个数,Clear节点用来清空数组内的所有元素.
9.Resize
Resize节点用来控制数组的长度,也就是元素个数的变化.举个例子,原来有5个元素,你通过Resize压缩到4个元素的话,那么数组内只剩下前4个元素.如果拉伸到6个元素的话,则数组增加一个元素为0.