Bladeren bron

解决最后一步加快速度问题

丸子 6 maanden geleden
bovenliggende
commit
86326af27d
1 gewijzigde bestanden met toevoegingen van 8 en 5 verwijderingen
  1. 8 5
      src/views/block/MapGame.vue

+ 8 - 5
src/views/block/MapGame.vue

@@ -511,11 +511,14 @@ async function move(direction) {
     await smoothMoveTo(newX, newY);
     output.value += `${moveType}到: (${newX}, ${newY})\n`;
 
-    // 检查是否到达终点
-    if (newX === endPoint.value.x && newY === endPoint.value.y) {
-      gameState.player.hasReachedEnd = true;
-      gameState.player.direction = 1;
-      showGameMessage('恭喜你到达终点!', 'success');
+    // 检查是否到达终点 - 确保在动画完全完成后才触发终点效果
+    if (Math.abs(newX - endPoint.value.x) < 0.01 && Math.abs(newY - endPoint.value.y) < 0.01) {
+      // 等待动画完全完成后再标记到达终点
+      setTimeout(() => {
+        gameState.player.hasReachedEnd = true;
+        gameState.player.direction = 1;
+        showGameMessage('恭喜你到达终点!', 'success');
+      }, 500); // 等待动画持续时间
       output.value += '恭喜你到达终点!';
     }
   } else {