蓝图基础(3) —— 分支与循环

简述
在所有的开发语言中分支与循环都是必不可少的,它能有效的控制程序执行的流程,在蓝图中是由一些分支与循环节点来实现的。
点击右键 -> Utilities -> Flow Control 弹出一些标准的流程控制节点,如图
(一)、 Branch
Branch是一个判断节点,当输入参数Condition为true时,程序走True分支,反之走false分支。
例如,当勾选Condition时,程序会走True分支并打印”True分支”
输出结果

(二)、Delay
延时节点,当程序执行到该节点时,会阻塞一段时间,然后运行,有点像sleep函数。
例如,设置延时三秒再打印数据,在延时期间不接受输入

输出结果,触发事件三秒后才打印

(三)、Do N
这个节点会控制执行的次数,如果超出设定的次数,节点将不会接收任何输入,除非对节点进行重置(Reset)
例如,设置执行次数N为3,那么节点最多执行三次

按“1”键触发,会输出当前直线的次数,超过三次,在按“1”键节点将不会执行

想要再次执行,必须对Do N节点进行重置,通过按“2”键重置,再次按“1”键节点才能执行

(四)、DoOnce

这个节点与Do N类似,相当于Do N中将N设置为1,还多了一个bool类型的输入参数Start Closed,默认为true,刚开始的时候节点是关闭的,需重置后才能执行。
例如,刚开始时,按“1”键节点不会执行,须按“2”键重置DoOnce节点,

再次按“1”键,节点才会执行,打印”Hello”

(五)、DoOnce MultiInput

这个节点相对于DoOnce可以添加多个分支,同样,执行一次后需要重置才能再次执行
例如,给节点添加几个分支,节点执行时,根据输入分支执行对应的输出分支,按下“1”键时执行输入分支A ln对应的输出分支A Out,想要再次执行其他分支,必须按“1”键重置节点。反复执行

输出结果

(六)、FlipFlop

该节点有两个输出分支。 第一次调用时,将会输出A。 第二次调用时,输出B,并输出一个bool值,判断是否输出A,如果输出A,该值为true,反之为false。
例如,连接两个输出节点,并打印返回值Is A

多次按下“1”键,输出结果

(七)、ForLoop

这是一个循环节点,类使用for循环,通过设置起始下标(First Index)和结束下标(Last Index)来控制循环次数,每次循环都会输出当前循环的下标Index,循环结束后输出到Completed分支,结束循环
例如,将First Index设为0, Last Index设为100,并打印每次循环的Index值,最后打印”Completed”

(八)、ForLoopWithBreak
这个循环节点在ForLoop节点的基础上添加了个输入分支Break,执行Break可以跳出当前循环
例如,当index为大于50时,循环结束。程序中每次循环会先判断index是否小于50,如果是,那么执行print string节点,打印index,否则执行ForLoopWithBreak节点中的Break分支,循环结束
输出结果
(九)、Gate
这个节点类似开关,有四个输入分支,Enter,Open,Close,Toggle,
Enter为执行分支,只有从这个节点竟如才能执行输出
Open 打开,打开节点执行刘
Close 关闭,关闭节点执行流
Toggle 切换,在Open和Close两种状态将切换
Start Closed  默认关闭
例如,下面每个键对应一个输入节点,执行不同的操作
结果输出
(十)、MultiGate
每次执行,会从一个分支输出,输入值Is Random为Treu时输出分支是随机的,输入值Loop为True时,该节点可以多次循环,反之不行
例如,当Is Random和Loop都为flase时,四个输出分支将从小到大顺序输出,并且只能输出一轮
结果输出
当Is Random和Loop都设为True时,四个输出分支将随机输出,并且只能输出多轮
结果输出
(十一)、Retriggerable Delay
这个节点与Delay类似,唯一不同的是它可以再次触发
例如,设置触发时间为5秒,当节点触发后,再5秒之内再次触发,将重新开始计时
间隔5秒之内重复按下”1”键,Retriggerable Delay重复触发,计时再次归零,这样就无法输出
而Delay节点在触发后,不会再接收新的输入,只有时间到了,节点输出后才会接收输入
间隔5秒之内重复按下”1”键,以第一次触发的时间为准,计时5秒,结果输出
(十二)、Sequence
该节点可以连接多个输出,执行这个节点可以输出多个分支,
结果输出
(十三)、WhileLoop
该节点传入参数为bool类型,为ture是循环,flase是退出循环,类似while循环
例如,创建个integer类型的变量uVal,设置初始值为30,以uVal为参数传入,开始循环,
没次循环uVal将会减1,知道uVal小于等于零,退出循环,执行Comopleted
结果输出

猜你喜欢

转载自blog.csdn.net/niu2212035673/article/details/80148329