KNOWLEDGE MODULE 04

移动、寻路与视野

逐一解决距离、疲劳、无路径、跨房间路线、CostMatrix、房间可见性与远程观察问题。

10 篇文章3 个学习阶段4 / 8 模块

WHO IT IS FOR

适合谁学习

遇到 Creep 不移动、找不到路径、跨房间失败或目标房间没有视野的玩家。

LEARNING GOAL

完成后能解决什么

从动作距离错误开始,逐步掌握路径成本、跨房间路线、疲劳和远程视野诊断。

01

LEARNING STAGE

先解决常见错误

先排查距离不足、moveTo 不移动和 ERR_NO_PATH。

  1. 01Screeps ERR_NOT_IN_RANGE(-9)怎么处理:Creep 动作距离与 moveTo 排查Screeps 错误排查 · 7 分钟阅读

    Screeps 中 Creep 动作返回 ERR_NOT_IN_RANGE(-9)时,先确认目标与动作距离,再检查 moveTo() 返回值,并在下一 tick 重试。包含范围 1、范围 3 和 ERR_NO_PATH 排查示例。

  2. 02Screeps moveTo() 返回 OK 但不移动怎么排查Screeps 错误排查 · 7 分钟阅读

    从目标、spawning、MOVE部件、fatigue、路径缓存、交通阻挡和返回值逐步排查,并记录连续tick位置变化。

  3. 03Screeps ERR_NO_PATH 怎么排查:目标范围、回调与跨房间路线Screeps 错误排查 · 7 分钟阅读

    区分moveTo的ERR_NO_PATH、noPathFinding的ERR_NOT_FOUND和PathFinder incomplete,从目标范围、地形、回调、maxOps与出口逐步排查。

02

LEARNING STAGE

理解路径与移动成本

继续学习 CostMatrix、跨房间路线、距离 API 和 fatigue。

  1. 04PathFinder CostMatrix 怎么设置道路、障碍和高成本格子Screeps 进阶开发 · 8 分钟阅读

    解释 CostMatrix 中 0、普通成本和 255 的含义,在 roomCallback 中处理道路、建筑、Creep 与自定义避让格,并检查 PathFinder.search 的完整结果。

  2. 05Game.map.findRoute() 怎么规划并执行跨房间路线Screeps 进阶开发 · 8 分钟阅读

    解释 findRoute() 返回的房间级出口序列、routeCallback 成本和 ERR_NO_PATH,并提供带房间偏好、路线缓存与逐房间移动的完整示例。

  3. 06RoomPosition 距离方法怎么选:range、相邻、同格与路径Screeps 基础工程 · 6 分钟阅读

    比较getRangeTo、inRangeTo、isNearTo、isEqualTo、findClosestByRange和findClosestByPath,区分线性距离与真实可达路径。

  4. 07Screeps MOVE 部件怎么配:fatigue、地形与负载Screeps 基础工程 · 6 分钟阅读

    解释道路、平地和沼泽产生的fatigue,计算有效MOVE部件的恢复能力,并比较空CARRY、满载运输和受伤后的移动频率。

03

LEARNING STAGE

视野与可视化

最后处理房间可见性、Observer 和 RoomVisual 调试。

  1. 08Game.rooms 为什么没有某个房间Screeps 常见问题 · 2 分钟阅读

    解释 Game.rooms[roomName] 为什么可能是 undefined,并在房间不可见时避免继续读取对象。

  2. 09StructureObserver.observeRoom() 怎么安全获取远方房间视野Screeps 进阶开发 · 8 分钟阅读

    解释 Observer 的10房间范围、请求与下一tick读取时序、返回码和Memory状态,并提供不会把当前视野误判为观察结果的完整示例。

  3. 10RoomVisual 怎么画状态、目标和路径来辅助调试Screeps 基础工程 · 7 分钟阅读

    用RoomVisual绘制Creep状态、目标连线和任务标记,控制可视化开关、对象数量与数据大小,并区分画面提示和真实行为结果。