From 4f02d166f2ed884249ed2d58d1e88ebe0e8be669 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 27 Nov 2025 19:46:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E8=B7=9F=E9=9A=8F?= =?UTF-8?q?=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-modules/src/render/map/extension/hero.ts | 6 ++++++ packages-user/client-modules/src/render/map/moving.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages-user/client-modules/src/render/map/extension/hero.ts b/packages-user/client-modules/src/render/map/extension/hero.ts index fefb7cc..8da4fd2 100644 --- a/packages-user/client-modules/src/render/map/extension/hero.ts +++ b/packages-user/client-modules/src/render/map/extension/hero.ts @@ -389,6 +389,7 @@ export class MapHeroRenderer implements IMapHeroRenderer { return; } if (index === this.entities.length - 1) { + this.entities[index].block.destroy(); this.entities.splice(index, 1); return; } @@ -399,6 +400,7 @@ export class MapHeroRenderer implements IMapHeroRenderer { const moving = this.entities[i]; this.moveEntity(moving, last.nextDirection, DEFAULT_TIME); } + this.entities[index].block.destroy(); this.entities.splice(index, 1); await Promise.all(this.entities.map(v => v.promise)); return; @@ -421,10 +423,14 @@ export class MapHeroRenderer implements IMapHeroRenderer { moving.direction = last.nextDirection; moving.nextDirection = moving.direction; } + this.entities[index].block.destroy(); this.entities.splice(index, 1); } removeAllFollowers(): void { + for (let i = 1; i < this.entities.length; i++) { + this.entities[i].block.destroy(); + } this.entities.length = 1; } diff --git a/packages-user/client-modules/src/render/map/moving.ts b/packages-user/client-modules/src/render/map/moving.ts index c85bafe..8c89b9b 100644 --- a/packages-user/client-modules/src/render/map/moving.ts +++ b/packages-user/client-modules/src/render/map/moving.ts @@ -167,7 +167,7 @@ export class MovingBlock extends DynamicBlockStatus implements IMovingBlock { if (!this.end) return Promise.resolve(this); this.time = time; this.line = false; - this.relative = false; + this.relative = true; this.startX = this.x; this.startY = this.y; this.startTime = this.renderer.getTimestamp();