【UE4】数据容器(蓝图)

数据容器

容器是数据结构中重要的组成部分!容器可以帮助我们快速储存和整理数据,使得数据按照给定的规则(容器特性)进行有序的存储。

虚幻中有三种容器,三种容器根据容器的特点各不相同:

Array容器(数组)

一种可以自动变化大小的容器,容器内只能存储同一种数据,我们也称之为同质容器。Array是我们最常使用的容器。

遍历数组:For Each Loop 节点

请添加图片描述

取数组:Get 节点

请添加图片描述

注意:Get(复制)表示copy一份数组中的数据,改变此数据不会影响数组内的原有数据。

Get(引用)表示取得数组中数据的操作逻辑,改变此数据也会改变数组内的原有数据。

在使用Get前,更安全的做法是检查一下Length,看看当前要取的位置是不是存在于数组中:
请添加图片描述

加数据:Add 节点 (加在最后)

请添加图片描述

Add:表示可以增加数组内已有的数据,比如数组中已经有3,还可以往里加3,加在最后的位置。

Add Unique:表示在添加之前会检查数组,如果有重复的,就不添加,否则添加。

插入数据:Insert(可以插入到指定位置)

API的使用,没有什么特别的细节。

在运行时动态构建数组:Make Array 节点

API的使用,没有什么特别的细节。

其他的数组操作API:

反向遍历数组(宏):Reverse for Each Loop

请添加图片描述
将一个数组附加到另一个数组上,将下面的数组添加到上面的数组中:Append Array

请添加图片描述

将数组中的数据进行清除,并且把空间还回:Clear
判断数组中是否含有某个给定的元素,有返回Ture,没有则返回False:Contains

查找数组中是否含有某个元素,有返回元素序号,没有返回-1:Find

获取数组中的最后一个元素:Last Index

提供一个有效的下标,移除此下标上的元素,后面的自动上位:Remove Index

提供一个数组中包含的元素,移除此元素,后面的自动上位:Remove

将数组进行指定大小的填充,若大小小于原数组长度,则多余部分将被抹除;若大小大于原数组长度,则扩充部分用0进行填充:Resize

将给定的数据插入到指定的位置,若指定的位置大于数组长度,则插入失败;勾选Size to fit选项后,若大于将会扩容,并插入到指定位置:Set Array Elem

将数组中的元素位置随机化,打乱位置:Shuffle

将数组中两个位置的元素进行交换:Swap Array Elements

Map容器(字典)(映射)

具有键值的同质容器,对于元素操作需要依靠键值,键值是Map的操作标签。键值类型可以是蓝图常规对象类型。

特点:元素类型必须相同,键值唯一。也就是加入相同键值元素将被覆盖。

应用场景:游戏中的背包栏(具备格子概念的背包),游戏中的技能栏(具备技能释放快捷键),游戏中的装备槽位等。

Set容器(集)

键值类同质容器。键值和元素相同,本身对键值操作隐藏。操作标签即为元素本身,即如果想要操作Set中的内容,需要先知道元素。这与其他两种容器思考方式完全不同。

键值类同质容器。键值和元素相同,本身对键值操作隐藏。操作标签即为元素本身,即如果想要操作Set中的内容,需要先知道元素。这与其他两种容器思考方式完全不同。

应用场景:游戏中的聊天辱骂过滤,玩家创建名称时的敏感词检索,特殊道具持有检查等。

猜你喜欢

转载自blog.csdn.net/weixin_44283836/article/details/127364104