简述
在所有的开发语言中分支与循环都是必不可少的,它能有效的控制程序执行的流程,在蓝图中是由一些分支与循环节点来实现的。
点击右键 -> Utilities -> Flow Control 弹出一些标准的流程控制节点,如图
在所有的开发语言中分支与循环都是必不可少的,它能有效的控制程序执行的流程,在蓝图中是由一些分支与循环节点来实现的。
点击右键 -> Utilities -> Flow Control 弹出一些标准的流程控制节点,如图
![](https://i-blog.csdnimg.cn/blog_migrate/d4e93e50440be584e7f58c8489fec893.png)
(一)、
Branch
Branch是一个判断节点,当输入参数Condition为true时,程序走True分支,反之走false分支。
例如,当勾选Condition时,程序会走True分支并打印”True分支”
例如,当勾选Condition时,程序会走True分支并打印”True分支”
![](https://i-blog.csdnimg.cn/blog_migrate/fd0a524a68b581267b9d206c8f93f591.png)
输出结果
(二)、Delay
延时节点,当程序执行到该节点时,会阻塞一段时间,然后运行,有点像sleep函数。
例如,设置延时三秒再打印数据,在延时期间不接受输入
延时节点,当程序执行到该节点时,会阻塞一段时间,然后运行,有点像sleep函数。
例如,设置延时三秒再打印数据,在延时期间不接受输入
![](https://i-blog.csdnimg.cn/blog_migrate/5f0ee6d6f11f7d801d66289ccb841a78.png)
输出结果,触发事件三秒后才打印
![](https://i-blog.csdnimg.cn/blog_migrate/8e6bcc63e382b3aab047591b5fe745dc.png)
(三)、Do N
这个节点会控制执行的次数,如果超出设定的次数,节点将不会接收任何输入,除非对节点进行重置(Reset)
例如,设置执行次数N为3,那么节点最多执行三次
例如,设置执行次数N为3,那么节点最多执行三次
![](https://i-blog.csdnimg.cn/blog_migrate/b17ed1393d5aac5763e1278e69b83f46.png)
按“1”键触发,会输出当前直线的次数,超过三次,在按“1”键节点将不会执行
![](https://i-blog.csdnimg.cn/blog_migrate/0e41ef3496bd652ecaa855a3591d8513.png)
想要再次执行,必须对Do N节点进行重置,通过按“2”键重置,再次按“1”键节点才能执行
![](https://i-blog.csdnimg.cn/blog_migrate/50cb484b2f101feadb4b738d6059666f.png)
(四)、DoOnce
这个节点与Do N类似,相当于Do N中将N设置为1,还多了一个bool类型的输入参数Start Closed,默认为true,刚开始的时候节点是关闭的,需重置后才能执行。
例如,刚开始时,按“1”键节点不会执行,须按“2”键重置DoOnce节点,
例如,刚开始时,按“1”键节点不会执行,须按“2”键重置DoOnce节点,
![](https://i-blog.csdnimg.cn/blog_migrate/b923e46500f1ef7bd0609140e0d9967c.png)
再次按“1”键,节点才会执行,打印”Hello”
![](https://i-blog.csdnimg.cn/blog_migrate/d79b41c71f056b035e77622fde01f908.png)
(五)、DoOnce MultiInput
这个节点相对于DoOnce可以添加多个分支,同样,执行一次后需要重置才能再次执行
例如,给节点添加几个分支,节点执行时,根据输入分支执行对应的输出分支,按下“1”键时执行输入分支A ln对应的输出分支A Out,想要再次执行其他分支,必须按“1”键重置节点。反复执行
例如,给节点添加几个分支,节点执行时,根据输入分支执行对应的输出分支,按下“1”键时执行输入分支A ln对应的输出分支A Out,想要再次执行其他分支,必须按“1”键重置节点。反复执行
![](https://i-blog.csdnimg.cn/blog_migrate/ac4a09fdcfcd7bee1e1880f387e3ab0b.png)
输出结果
![](https://i-blog.csdnimg.cn/blog_migrate/899c16f75f7f45552bdd4dd4e4bb4fe1.png)
(六)、FlipFlop
该节点有两个输出分支。 第一次调用时,将会输出A。 第二次调用时,输出B,并输出一个bool值,判断是否输出A,如果输出A,该值为true,反之为false。
例如,连接两个输出节点,并打印返回值Is A
例如,连接两个输出节点,并打印返回值Is A
![](https://i-blog.csdnimg.cn/blog_migrate/13c54ca6994be5098b69fd123946018f.png)
多次按下“1”键,输出结果
![](https://i-blog.csdnimg.cn/blog_migrate/254276174008c677a2740c866e63580d.png)
(七)、ForLoop
这是一个循环节点,类使用for循环,通过设置起始下标(First Index)和结束下标(Last Index)来控制循环次数,每次循环都会输出当前循环的下标Index,循环结束后输出到Completed分支,结束循环
例如,将First Index设为0, Last Index设为100,并打印每次循环的Index值,最后打印”Completed”
例如,将First Index设为0, Last Index设为100,并打印每次循环的Index值,最后打印”Completed”
![](https://i-blog.csdnimg.cn/blog_migrate/0b74ec71fce417c0c3676b10ac33006d.png)
这个循环节点在ForLoop节点的基础上添加了个输入分支Break,执行Break可以跳出当前循环
例如,当index为大于50时,循环结束。程序中每次循环会先判断index是否小于50,如果是,那么执行print string节点,打印index,否则执行ForLoopWithBreak节点中的Break分支,循环结束
![](https://i-blog.csdnimg.cn/blog_migrate/7f0b511f0fb642db05f01ae0cb6a56f8.png)
输出结果
![](https://i-blog.csdnimg.cn/blog_migrate/d16544c2b87ec38d11976f8d34ebcfa4.png)
(九)、Gate
这个节点类似开关,有四个输入分支,Enter,Open,Close,Toggle,
Enter为执行分支,只有从这个节点竟如才能执行输出
Open 打开,打开节点执行刘
Close 关闭,关闭节点执行流
Toggle 切换,在Open和Close两种状态将切换
Start Closed 默认关闭
例如,下面每个键对应一个输入节点,执行不同的操作
这个节点类似开关,有四个输入分支,Enter,Open,Close,Toggle,
Enter为执行分支,只有从这个节点竟如才能执行输出
Open 打开,打开节点执行刘
Close 关闭,关闭节点执行流
Toggle 切换,在Open和Close两种状态将切换
Start Closed 默认关闭
例如,下面每个键对应一个输入节点,执行不同的操作
![](https://i-blog.csdnimg.cn/blog_migrate/e930cc7a549bf1d6bb005a7c54d94118.png)
结果输出
![](https://i-blog.csdnimg.cn/blog_migrate/ae285b9e0205ae4a76998a18b18532cd.png)
(十)、MultiGate
每次执行,会从一个分支输出,输入值Is Random为Treu时输出分支是随机的,输入值Loop为True时,该节点可以多次循环,反之不行
例如,当Is Random和Loop都为flase时,四个输出分支将从小到大顺序输出,并且只能输出一轮
每次执行,会从一个分支输出,输入值Is Random为Treu时输出分支是随机的,输入值Loop为True时,该节点可以多次循环,反之不行
例如,当Is Random和Loop都为flase时,四个输出分支将从小到大顺序输出,并且只能输出一轮
![](https://i-blog.csdnimg.cn/blog_migrate/18b64fc002ca6685c8a55e4cfd042083.png)
结果输出
![](https://i-blog.csdnimg.cn/blog_migrate/39bae8d52bc292ea82ea1a4d57114f06.png)
当Is Random和Loop都设为True时,四个输出分支将随机输出,并且只能输出多轮
结果输出
结果输出
![](https://i-blog.csdnimg.cn/blog_migrate/60589419ee63f709283467c925cc40c1.png)
(十一)、Retriggerable Delay
这个节点与Delay类似,唯一不同的是它可以再次触发
例如,设置触发时间为5秒,当节点触发后,再5秒之内再次触发,将重新开始计时
这个节点与Delay类似,唯一不同的是它可以再次触发
例如,设置触发时间为5秒,当节点触发后,再5秒之内再次触发,将重新开始计时
![](https://i-blog.csdnimg.cn/blog_migrate/95629794a0db0861a2cd4b40aab75708.png)
间隔5秒之内重复按下”1”键,Retriggerable Delay重复触发,计时再次归零,这样就无法输出
![](https://i-blog.csdnimg.cn/blog_migrate/9948dd44caa3f5149a5bb965c61cea3c.png)
而Delay节点在触发后,不会再接收新的输入,只有时间到了,节点输出后才会接收输入
间隔5秒之内重复按下”1”键,以第一次触发的时间为准,计时5秒,结果输出
间隔5秒之内重复按下”1”键,以第一次触发的时间为准,计时5秒,结果输出
![](https://i-blog.csdnimg.cn/blog_migrate/fa9cb955a29233d0c2cc0e64871e6692.png)
(十二)、Sequence
该节点可以连接多个输出,执行这个节点可以输出多个分支,
该节点可以连接多个输出,执行这个节点可以输出多个分支,
![](https://i-blog.csdnimg.cn/blog_migrate/80d1183c9a130f9df927f8da029ebdf1.png)
结果输出
![](https://i-blog.csdnimg.cn/blog_migrate/01a70e806892e751da0d14129bfb614d.png)
(十三)、WhileLoop
该节点传入参数为bool类型,为ture是循环,flase是退出循环,类似while循环
例如,创建个integer类型的变量uVal,设置初始值为30,以uVal为参数传入,开始循环,
没次循环uVal将会减1,知道uVal小于等于零,退出循环,执行Comopleted
该节点传入参数为bool类型,为ture是循环,flase是退出循环,类似while循环
例如,创建个integer类型的变量uVal,设置初始值为30,以uVal为参数传入,开始循环,
没次循环uVal将会减1,知道uVal小于等于零,退出循环,执行Comopleted
![](https://i-blog.csdnimg.cn/blog_migrate/bd5df571406c72a64b5e15f15f5bb17f.png)
结果输出