UE4的结构体及结构体数组

一、结构体的基本概念

可以使用Struct 封装多种相同或不同类型的数据,并使用数组保存结构体,通过遍历数组中的结构体,来访问结构体数据并统计。

二、自定义结构体

1. 在蓝图文件夹中创建一个结构体文件MyStruct (内容浏览器 -> 蓝图文件夹 -> 创建蓝图选项 -> 结构体)

2. 双击打开结构体文件

3. 修改原有布尔变量名称为MyBool

4. 添加浮点型变量Health

5. 添加字符串变量Name

6. 添加字节变量Sex

7. 可以调整结构体变量的关系,也可以删除结构体变量

8. 可以设置结构体变量的默认值

三、BreakStruce 访问结构体

1. 在关卡蓝图中创建结构体变量PawnInfo,选择MyStruct类型

2. 保存后拖动结构体到关卡蓝图

3. 选择结构体连线出Break MyStruct (中断MyStruct),可以随意访问结构体中的变量

四、SetMembersInStruct 设置结构体的值

1. 拖动结构体MyStruct到关卡蓝图

2. MyStruct拖出设置MyStruct中的成员节点,节点中的变量可以通过 细节 选项卡显示

3. 添加事件设置成员节点

五、MakeStruct 替换结构体

1. 拖动设置结构体MyStruct的节点到关卡蓝图

2. 设置 PawnInfo 端为 Make MyStruct节点,并设置数据

3. 添加事件触发设置节点

六、创建结构体数组

1. 将结构体修改成数组,尽量不要有其他的引用

2. 在MyStruct中修改结构体的默认值,保存编译之后,所有蓝图中的数组默认值都会改变

3. 建筑漫游可以用结构体数组

七、结构体数组的访问

1. 在结构体数组上连接 Get 节点,选择索引就可以得到一个结构体元素

2. 将结构体元素 中断(break) ,获得所有结构体成员节点,就可以访问任意的结构体成员

八、结构体数组的遍历

1. 通过 ForEachLoop 或 ForEachLoopWithBreak 遍历结构体数组

2. 每一个元素都可以通过中断来获取结构体成员节点

九、Add 和 SetArrayElem

1. 通过add或add unique 节点添加元素,add unique节点验证所有成员数据是否全部一致

2. SetArrayElem 替换原有数组中的元素,若SizetoFit为true,则超出范围后会将数组补充至满足替换条件的大小

十、AppendArray

1. AppendArray 可以连接两个数组

2. 将B连接到A中,A增加B,B不变

3. 不能将A连接到A中,会死循环

版权声明:本文为CSDN博主「幽冥丶虾米」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_14930205/article/details/78541532

最新文章