我尝试像这样使用findNearest:
var sources = creep.room.findNearest(Game.SOURCES)
creep.moveTo(sources[0]);
creep.harvest(sources[0]);
这就是我得到的:
TypeError: undefined is not a function
at module.exports:5:28
at <main>:11:6
如何使用此方法和findInRange,以免它们导致此错误?
最佳答案
这里有几件事要注意:
findNearest()
不在房间对象中。简单修复var sources = creep.pos.findNearest(Game.SOURCES)
findNearest()
不返回对象数组,它返回一个单个对象(特别是最近的对象)或null
。此处的解决方法是更改creep.moveTo(sources);
的内容(您可能希望将sources
设为单数以避免混淆)creep.room.findInRange()
的操作,并且它又不在pos中的room对象中,所以看起来像是creep.pos.findInRange()
。 find()
,lookAt()
,findPath()
和makeSnapshot()
,而pos还有很多功能(在文档的roomposition中列出)如果您在文档here中查找房间,在here中查找房间位置,然后滚动到底部,则可以看到哪些功能位于哪个对象中。
关于javascript - findNearest,findInRange-如何在爬行动物中使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27056660/