desynced吧 关注:281贴子:1,111
  • 19回复贴,共1

在 循环实体 中几个行为指令的对应作用

只看楼主收藏回复

首日更新的 循环信号 行为好像有bug,不仅搜不到还会卡住不动,但如果修好了应该和循环实体一样适用帖子


IP属地:四川1楼2023-08-21 02:03回复
    游戏会自动把循环实体\信号\没用的研究后面的一切放入循环体
    在此基础上,不同的说明块(奇怪的中文翻译)会产生不同的行为。通常,当行为执行到连接的白点后方没有新说明块时,行为跳到循环实体后的白点处开始执行,但赋值给变量A的实体会更新为下一个。后方无连接的白点行为类似于continue,是结束本次循环的标志。

    中断则很明显是break的意思,会跳过后面的所有循环,到达循环出口,在只需要找到一个的情景中有用,实际上如果你需要把循环体内的变量等不被覆盖,中断几乎是必须使用的。


    IP属地:四川2楼2023-08-21 02:22
    回复
      2026-01-07 08:35:21
      广告
      不感兴趣
      开通SVIP免广告
      但是,循环控制很自然地不对goto循环生效。下图是一个反面教材
      当你经过一个goto到循环说明块的前方,你并没有如想象般跳出循环。行为实际上是运行到了一个新的嵌套的循环开头,并且很可能地会随着这条goto路径进行下一次嵌套。在嵌套情况下,即使是中断也只能跳出一层循环
      如果很不幸,循环在中断之前通过goto跳回了循环实体之前,那么就进入了无限递归。好在这样导致嵌套层数过多之后游戏并不会崩溃,只会停止行为的进一步运行。


      IP属地:四川3楼2023-08-21 02:34
      回复
        简单来说,在循环实体一类的循环指令后方,如果你的行为到了需要获得下一个实体的数据的地步,那么就让行为白线在该处中断。随后你的程序会回到循环指令上方端点处接着运行,或者这已经是满足条件的最后一个实体后从“无人机”(奇怪的翻译)处接着运行。
        如果你只需要对当前循环到的实体更进一步地操作或是不论为什么不需要获取接下来的实体了,使用中断并在“无人机”处接着编程。
        需要注意的是,如果想在循环体中直接跳出循环并跳至程序开头处,像在循环外遇到白线中断处一样,没有特别好的办法但可以通过设置一个新变量之类的方式实现。


        IP属地:四川4楼2023-08-21 02:50
        收起回复
          跪求大佬出一期工人运送货物的吧,工人每次都只拿一个就跑。我都要废了,到处都是工人,背包明明有很多空格的。


          IP属地:四川来自iPhone客户端5楼2023-08-21 09:50
          收起回复
            大佬,这个循环实体怎么用啊


            IP属地:广东来自iPhone客户端6楼2023-09-05 18:57
            回复