0
var enemy_creep = creep.pos.findNearest(Game.HOSTILE_CREEPS);

if (enemy_creep) 
    var enemy_direction = creep.pos.getDirectionTo(enemy_creep);

我试图在 screeps 中做这样的事情,但这个函数只是一直返回 -2。我在此错误代码的文档中没有看到任何提及。我还尝试了使用敌人蠕变的 x 和 y 位置的函数的另一个版本,结果相同。

4

2 回答 2

1

我们可以知道敌人的方向,但只有当它靠近你自己的小兵时,findInRange(Game.HOSTILE_CREEPS, 1) 才能正常工作。

var enemy_creep = creep.pos.findInRange(Game.HOSTILE_CREEPS, 1)[0];

if (enemy_creep) {
    var enemy_direction = creep.pos.getDirectionTo(enemy_creep);
}
于 2014-11-28T09:27:53.320 回答
1

我认为-2是找不到路径的错误代码,基于游戏常量(在通知下方)所以ch4rlyp所说的可能是正确的,尽管游戏文档没有说明它需要靠近。也许这是一个错误?

游戏.ERR_NO_PATH -2

于 2014-11-28T15:19:30.773 回答