From 3ced49e6d1e3b0d7b8a7a5e1d5186b8efb20c937 Mon Sep 17 00:00:00 2001 From: chicrobot Date: Fri, 30 Jan 2026 17:28:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(ASTS)=20=E4=BF=AE=E5=A4=8D=E9=87=8A?= =?UTF-8?q?=E6=94=BE=E6=8A=80=E8=83=BD=E6=97=B6=E6=9C=AC=E4=BD=93=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- objects/Unit.js | 3 +++ scenes/testScenes/AttackSkillTestScene.js | 14 ++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/objects/Unit.js b/objects/Unit.js index 6f9c0ba..45c69c9 100644 --- a/objects/Unit.js +++ b/objects/Unit.js @@ -22,6 +22,9 @@ export default class Unit extends Phaser.Physics.Arcade.Sprite { // 目标地点显示 this.targetIndicator = null; this.pathGraphics = null; + + // 移动控制 + this.canMove = true; } /** diff --git a/scenes/testScenes/AttackSkillTestScene.js b/scenes/testScenes/AttackSkillTestScene.js index ee1bc43..425e566 100644 --- a/scenes/testScenes/AttackSkillTestScene.js +++ b/scenes/testScenes/AttackSkillTestScene.js @@ -627,6 +627,12 @@ export default class AttackSkillTestScene extends Phaser.Scene { directionY = pointer.y - this.skillWheel.centerY; } + // 对于一技能和四技能,设置canMove为false,确保角色不能移动 + if ((skillIndex === 1 || skillIndex === 4) && !this.isControllingPuppet) { + yuange.canMove = false; + yuange.setVelocity(0, 0); + } + if (this.isControllingPuppet) { // 控制傀儡时的技能 switch (skillIndex) { @@ -839,6 +845,11 @@ export default class AttackSkillTestScene extends Phaser.Scene { // 自动锁定相机到傀儡 mod.setCameraLocked(true); }); + + // 技能释放完成后,恢复移动能力 + setTimeout(() => { + yuange.canMove = true; + }, 100); } break; case 2: // 技能2:扇形飞镖攻击 @@ -873,6 +884,9 @@ export default class AttackSkillTestScene extends Phaser.Scene { this.time.delayedCall(500, () => { yuange.setPosition(targetX, targetY); yuange.setVelocity(0, 0); + + // 技能释放完成后,恢复移动能力 + yuange.canMove = true; }, [], this); } break;