7 分钟Screeps 进阶开发
Screeps PathFinder.search():range、返回值与完整路径判断
正确使用 PathFinder.search() 设置 goal range,读懂 path、cost、ops、incomplete,并判断搜索是否真正完成,而不是只看 path 有没有内容。
TAG
当前共有 7 篇文章使用这个长期主题标签。
正确使用 PathFinder.search() 设置 goal range,读懂 path、cost、ops、incomplete,并判断搜索是否真正完成,而不是只看 path 有没有内容。
区分moveTo的ERR_NO_PATH、noPathFinding的ERR_NOT_FOUND和PathFinder incomplete,从目标范围、地形、回调、maxOps与出口逐步排查。
解释 findRoute() 返回的房间级出口序列、routeCallback 成本和 ERR_NO_PATH,并提供带房间偏好、路线缓存与逐房间移动的完整示例。
Screeps moveTo() 返回 OK 但 Creep 不移动、走不动或卡住?按有效 MOVE、fatigue、返回码、reusePath 缓存、交通阻挡和同 tick 命令覆盖逐层排查。
解释 CostMatrix 中 0、普通成本和 255 的含义,在 roomCallback 中处理道路、建筑、Creep 与自定义避让格,并检查 PathFinder.search 的完整结果。
比较getRangeTo、inRangeTo、isNearTo、isEqualTo、findClosestByRange和findClosestByPath,区分线性距离与真实可达路径。
比较findClosestByPath与findClosestByRange,从FIND_SOURCES_ACTIVE选择可达Source,保存目标ID,并处理无视野、能量恢复和多Creep竞争。