瀏覽代碼

禁用按钮(并发现闪烁的原因是因为动画有报错)

181404010226 1 月之前
父節點
當前提交
4fe146c907
共有 2 個文件被更改,包括 37 次插入5 次删除
  1. 2 5
      assets/Scenes/MainScene.scene
  2. 35 0
      assets/scripts/GameFlowManager.ts

+ 2 - 5
assets/Scenes/MainScene.scene

@@ -383,7 +383,7 @@
       "__id__": 2
     },
     "_children": [],
-    "_active": true,
+    "_active": false,
     "_components": [
       {
         "__id__": 10
@@ -6184,15 +6184,12 @@
     "dataManager": {
       "__id__": 151
     },
-    "characterMovementManager": {
+    "characterManager": {
       "__id__": 149
     },
     "questionAnswerManager": {
       "__id__": 154
     },
-    "characterSkeletonNode": {
-      "__id__": 9
-    },
     "allowButton": {
       "__id__": 122
     },

+ 35 - 0
assets/scripts/GameFlowManager.ts

@@ -118,6 +118,35 @@ export class GameFlowManager extends Component {
         
         // 让角色入场
         this.characterManager.characterEnter();
+        
+        // 启用按钮
+        this.enableButtons();
+    }
+
+    /**
+     * 启用决策按钮
+     */
+    private enableButtons(): void {
+        if (this.allowButton) {
+            this.allowButton.interactable = true;
+        }
+        
+        if (this.dismissButton) {
+            this.dismissButton.interactable = true;
+        }
+    }
+    
+    /**
+     * 禁用决策按钮
+     */
+    private disableButtons(): void {
+        if (this.allowButton) {
+            this.allowButton.interactable = false;
+        }
+        
+        if (this.dismissButton) {
+            this.dismissButton.interactable = false;
+        }
     }
 
     /**
@@ -138,6 +167,9 @@ export class GameFlowManager extends Component {
      * 处理放行角色
      */
     public handleCharacterPassed(): void {
+        // 禁用按钮,防止连续点击
+        this.disableButtons();
+        
         // 让角色向右移动
         this.characterManager.moveCharacterRight();
         
@@ -151,6 +183,9 @@ export class GameFlowManager extends Component {
      * 处理赶走角色
      */
     public handleCharacterDismissed(): void {
+        // 禁用按钮,防止连续点击
+        this.disableButtons();
+        
         // 让角色向左移动
         this.characterManager.moveCharacterLeft();