mindustry吧 关注:13,329贴子:80,666
  • 13回复贴,共1

求助如何控制逻辑控制的单位数量

只看楼主收藏回复

仿照吧内的帖子写了个辅助自动修复受损建筑的逻辑,但是这逻辑默认会控制所有同类单位。
逻辑如图。
另外就是这逻辑在调用新星的时候好像不正常,我转红队用核心机攻击核心时它会过来,但会卡在受损核心附近。调用幻型时正常修复,但空闲时会围在同一个位置。



IP属地:重庆来自Android客户端1楼2025-02-12 10:41回复
    辅助自动修复好像是游戏就有自带的功能吧


    IP属地:黑龙江来自Android客户端2楼2025-02-12 12:30
    收起回复
      2025-08-03 07:49:09
      广告
      不感兴趣
      开通SVIP免广告
      首先,你要使用flag,相当于一个标记,如:1,2,3等。
      你要知道,你看似是它同时控制所有单位,但是实际上是一个一个控制的,只是循环的比较快罢了。
      为了控制带有特定flag (比如1)的单位:先bind一个单位,如果flag=0(即未被flag)则flag 1。如果flag≠0则跳到后面程序。如果flag=1运行你的程序,如果flag≠1 end.
      上面程序可以保证不会抢被其他处理器flag的单位。
      为了调整控制数量:最开头设个变量(记住这个只运行一遍),每次成功flag一个单位使变量+1,上面程序只有在变量≤你想要的数量时,才会增加新的flag单位。


      IP属地:北京来自Android客户端3楼2025-02-12 15:43
      回复
        我觉得吧nova不用也罢其他的基本都可以自动修复


        IP属地:北京来自Android客户端4楼2025-02-12 16:01
        收起回复
          思路很简单:
          重复n次{将一个flag不为(特定值a)的单位flag设定为(特定值a)}
          然后在控制的时候加一个检测,只有flag为a的单位被控制
          这样就能只控制n个单位了


          IP属地:湖南来自Android客户端5楼2025-02-12 20:12
          回复
            可以参考我的思路,见精华帖,稳定、缺点是使用行数较多或者快速、但不抗重载
            不过3年过去了,Anuken有没有暗改就不太清楚了


            IP属地:广东来自Android客户端6楼2025-02-22 08:22
            收起回复
              https://lanluz.github.io/Mindustry-guide/example/class9/example.html
              这个刚好有教学


              IP属地:广东7楼2025-03-08 11:55
              回复