假设我在房间里爬行,除了“ Game.creeps.creep.room.find(Game。)”之外,还有其他方法可以将对象放到房间里吗?
诸如.room.sources之类的东西?
因为我当前正在使用此:
var creep;
var target;
creep = Game.creeps.Creep1;
if(!creep.memory.target) {
target = creep.pos.findNearest(Game.SOURCES,{filter:function(s) { return s.energy > 0; }});
creep.memory.target = target.id;
}
else{
target = creep.room.find(Game.SOURCES,{filter:function(s) { return s.id == creep.memory.target; }});
}
由于过滤器的作用,这似乎有点慢。
最佳答案
万一有人阅读并感到困惑,由于提出/回答了此问题,因此添加了新方法。 Game.getObjectById()
在上面的代码中,可以将else块中的语句替换为:
target = Game.getObjectById(creep.memory.target);