From d234758bbd072ea756972827c551169419ad357d Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Fri, 23 Oct 2026 22:00:34 +0800 Subject: [PATCH] =?UTF-8?q?docs(10-28):=20=E6=A0=B8=E5=AF=B9=E6=BA=90?= =?UTF-8?q?=E7=A0=81=E5=B9=B6=E6=94=B6=E5=8F=A3=E7=A7=BB=E5=8A=A8=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/advanced/mover.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/advanced/mover.md b/docs/advanced/mover.md index 6d53691..bc325c0 100644 --- a/docs/advanced/mover.md +++ b/docs/advanced/mover.md @@ -113,7 +113,7 @@ async function walkRightThenDown(state: ICoreState): Promise { ## 执行中追加、插入与停止 -`controller` 才是当前这次执行的入口。它的三个方法只在「仍在移动、没有调用过 `stop`、尚未 `done`」时生效,其余情况静默忽略: +`controller` 才是当前这次执行的入口。`push` 与 `insert` 只在「仍在移动、没有调用过 `stop`、尚未 `done`」时生效,其余情况静默忽略;`stop()` 则总是把停止标记置真并返回本次的 `onEnd`: - `push(...steps)`:追加到本次队列末尾。 - `insert(...steps)`:插到当前步之后。当前步已经从队列取出,所以实际是插到剩余队列的最前面;多个步骤按参数顺序排列。 @@ -312,7 +312,7 @@ export class SimpleMover extends ObjectMover { - `onStepStart` 在每步开始前运行。此时基类已经更新过移动方向、朝向、速度与动画方向,但坐标还没变。它返回本步的结果码,供后面的逻辑与钩子使用。 - `onStepEnd` 计算这一步的落点,返回一个 `ITileLocator`。基类拿它和当前坐标比较,不同才调用 `tile.setPos`。不要在这里自己写坐标。 - `onStepSettled` 在坐标写入之后运行,参数里带着移动前坐标 `before` 与落点 `curr`。这里适合触发进入 / 离开 / 踩踏一类的事件,或者把朝向同步回对象。 -- 五个方法都是 `protected`,外部代码不能直接调用。对外只有链式方法、`start()` 与三个 setter。 +- 五个方法都是 `protected`,外部代码不能直接调用。对外是链式方法、`start()`、三个 setter 与几个只读状态。 模板里的 `@shouldReplay` 标在会改状态的步进方法上,用来让这一步进入录像检查;如果你的移动不需要进录像,可以去掉,原因见下文「与录像、存档的关系」。