首页 > 其他 > 详细

Unreal Engine 4 蓝图完全学习教程(八)—— 循环(2)ForEachLoop

时间:2020-07-05 23:26:58      阅读:79      评论:0      收藏:0      [点我收藏+]

Ⅰ、数组于ForEachLoop

数组是一种特别的值,可对多个值进行集中管理。处理保管于数组中的所有数据时会用到循环,如利用敌人角色的数组使他们同时动作。

而处理数组中的所有元素,可以使用“ForEachLoop”循环,它是专门处理数组的ForLoop循环。传递数组后,可按顺序从数组中取出值并进行处理。

首先准备一个数组,点击左侧“我的蓝图”中的“变量”处的“+”号,新建一个名为“data”的变量:

技术分享图片

 

 

 接着在右侧“细节”栏中修改参数信息(将变量数据类型修改成整数,并将变量变更为数组):

技术分享图片

 

 

 然后点击编译,编译完成后继续在细节面板中“默认值”处单击“+”号为数组创建初始值:

技术分享图片

 

 

Ⅱ、ForEachLoop节点 

右击图表,输入“foreach”,选择“工具”内的“数组”项目中的“ForEachLoop”选项创建“ForEachLoop”节点:

技术分享图片

 

 

 ForEachLoop节点:

技术分享图片

 

 

ForEachLoop节点是用于处理数组的专用节点,其输入输出项也是结合数组由ForLoop演变而来的:

ForEachLoop节点的输入项:

  • Exec:连接执行处理的顺序。
  • Array:连接要处理的数组。

ForEachLoop节点的输出项:

  • Loop Body:将循环处理的内容连接至此以创建处理。
  • Array Element:在ForEachLoop中将以顺序从数组中取出值,所取出的值从此处获得。
  • Array Index:可获得取出值的Index编号。
  • Completed:数组处理全部完成后,用于连接至后续的处理。

接下来将数组节点拖动到图表中(选择获取data),并将“Data”连接至“ForEachLoop”:

技术分享图片

Ⅲ、创建以ForEachLoop进行的循环处理

使用ForEachLoop,首先计算data数组的总数,然后将所得的值除以data值的数量得到平均值。

首先,创建一个名为“num”的变量用来记录总数,初值为0:

技术分享图片

 

 

 接着将该变量拖动到图表中,选择设置num。然后右键图表,输入“+”,选择“integer+integer”选项。再将num变量拖动到图表中,选择获取num:

技术分享图片

然后进行节点的连接:

①将“Num”节点连接至“+”节点的任意一个输入项;

②将“ForEachLoop”的“Array Element”连接至“+”节点的另一个输入项;

③将“+”节点的输出项连接至“设置”节点的“Num”;

④将“Begin Play”的exec输出项连接至“ForEachLoop”的“Exec”;

⑤将“ForEachLoop”的“Loop Body”连接至“设置”的exec输入项;

⑥将“ForEachLoop”的“Completed”连接至“Print String”的exec输入项。

技术分享图片

Ⅳ、准备Print String的内容

最后需要将平均值的结果使用Print String节点进行输出。总数已经从变量num中获得,接下来是求平均值并通过Print String显示。

首先,复制一个获得num的节点。然后右击图表,输入“/”,选择“integer/integer”选项。再次右击图表,输入“length”并选择“工具”内的“数组”中的“Length”选项:

技术分享图片

然后对节点进行连接:

①将“Data”连接至“LENGTH”;

②将“Num”连接至“÷”上方的输入项;

③将“LENGTH”连接至“÷”下方的输入项;

④将“÷”连接至“Print String”的“In String”。

技术分享图片

 

 

最后编译运行,即可得到数组中五个整数的平均值输出:

技术分享图片

 

 

Unreal Engine 4 蓝图完全学习教程(八)—— 循环(2)ForEachLoop

原文:https://www.cnblogs.com/MilkoSilver/p/13252086.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!