From 247f37bcbb53f65880dad84c5da54232d1317255 Mon Sep 17 00:00:00 2001 From: richarjiang Date: Tue, 21 Oct 2025 09:59:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(audio):=20=E4=BC=98=E5=8C=96=E6=94=BB?= =?UTF-8?q?=E5=87=BB=E9=9F=B3=E6=95=88=E6=92=AD=E6=94=BE=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将攻击音效播放延迟0.5秒以匹配动画时机 - 移除攻击音效的循环播放设置 - 注释掉攻击音效的停止逻辑,让音效自然播放完成 --- assets/scenes/main.scene | 2 +- assets/scripts/PlayerController.ts | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/assets/scenes/main.scene b/assets/scenes/main.scene index 30e60f6..90630e6 100644 --- a/assets/scenes/main.scene +++ b/assets/scenes/main.scene @@ -2358,7 +2358,7 @@ "__uuid__": "5d1cb41c-cc52-4f72-abf1-04e6b5e26278", "__expectedType__": "cc.AudioClip" }, - "_loop": true, + "_loop": false, "_playOnAwake": false, "_volume": 1, "_id": "73BrdnBedC5Yy6rg1H7I4I" diff --git a/assets/scripts/PlayerController.ts b/assets/scripts/PlayerController.ts index aff2d93..8ea7802 100644 --- a/assets/scripts/PlayerController.ts +++ b/assets/scripts/PlayerController.ts @@ -988,11 +988,13 @@ export class PlayerController extends Component { // 播放攻击音效 if (this.attackAudio) { - const audioSource = this.attackAudio.getComponent(AudioSource); - if (audioSource) { - audioSource.play(); - console.log('播放攻击音效'); - } + this.scheduleOnce(() => { + const audioSource = this.attackAudio.getComponent(AudioSource); + if (audioSource) { + audioSource.play(); + console.log('播放攻击音效'); + } + }, 0.5) } // 获取玩家动画组件 @@ -1016,13 +1018,13 @@ export class PlayerController extends Component { this.isAttacking = false; // 停止攻击音效 - if (this.attackAudio) { - const audioSource = this.attackAudio.getComponent(AudioSource); - if (audioSource) { - audioSource.stop(); - console.log('停止攻击音效'); - } - } + // if (this.attackAudio) { + // const audioSource = this.attackAudio.getComponent(AudioSource); + // if (audioSource) { + // audioSource.stop(); + // console.log('停止攻击音效'); + // } + // } return true; }