UE4蓝图:初体验(2) 数组的使用.
2018-03-08 20:49
686 查看
首先我们打开关卡蓝图界面.
然后点击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.
然后点击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.
相关文章推荐
- UE4-C++核心编程之接口:接口在蓝图中的使用
- UE4之c++使用多播代理调用蓝图
- UE4]不使用角色蓝图、动画蓝图、状态机,用“24K纯C++”实现动画播放
- UE4蓝图中的AI行为树功能使用经验指南
- UE4蓝图编辑器使用小技巧
- UE4蓝图:创建和使用结构体
- UE4中蓝图宏的使用
- UE4使用控件蓝图——添加UI血量和速度信息
- UE4蓝图:初体验(1)
- [UE4蓝图教程]蓝图入门之变量使用
- UE4蓝图:初体验(3) 流程控制之分支语句
- UE4使用C++创建枚举变量适用于C++与蓝图
- [UE4]注意事项,插件中蓝图方法库在C++中的使用
- UE4蓝图:初体验(5)函数
- UE4使用C++创建枚举变量适用于C++与蓝图
- UE4 蓝图 实现 数组的边遍历边删除
- 使用蓝图(Blueprint)绑定多播委托(Multicast Delegate)【UE4】【C++】
- UE4小地图制作 (使用蓝图制作小地图)
- 【UNREAL ENGINE 游戏开发】开篇之UE4的BLUEPRINT(蓝图)与C++(新童鞋必看)
- 联合使用list() each() while循环遍历数组