我对文档中的命令排队并不完全清楚。是每个身体部位都执行了移动和攻击之类的命令,还是每个滴答只有一个动作,并且它在第一个成功的动作上起作用吗?

假设我有一个简单的攻击者:

...
creep.moveTo( enemy );
creep.attack( enemy );
...


当小兵离敌人一步之遥时,在下一个滴答中会发生什么?


它会尝试移动然后攻击
它会尝试攻击,失败然后尝试移动(先进先出)
它只会移动吗(先进先出,一个动作)


现在,例如:

...
creep.attack( enemy );
creep.moveTo( enemy );
creep.attack( enemy );
...


它会尝试攻击,失败然后移动,然后再次尝试攻击吗?

最佳答案

似乎有可能同时进行远程混战和移动动作。但您只能执行其中一项操作。因此,您在一帧中不能攻击或移动2次。据我所知,最后一个事件优先。

例如:
    crawl.attack(target1);
    crawl.attack(target2);

这里的小兵将首先攻击目标2。如果未定义target2,则将使用target1

09-25 21:08