Spaces:
Running
Running
Upload 11 files
Browse files- .gitattributes +1 -0
- README.md +5 -1
- atk1.mp3 +3 -0
- atk2.mp3 +0 -0
- atk3.mp3 +0 -0
- audio_controller.js +6 -7
.gitattributes
CHANGED
|
@@ -39,3 +39,4 @@ images/Loss.jpg filter=lfs diff=lfs merge=lfs -text
|
|
| 39 |
BGM.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 40 |
Lose.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 41 |
win.mp3 filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 39 |
BGM.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 40 |
Lose.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 41 |
win.mp3 filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
atk1.mp3 filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -75,8 +75,12 @@ license: mit
|
|
| 75 |
- **背景音樂**:BGM.mp3(已包含在部署包中)
|
| 76 |
- **勝利音效**:win.mp3(玩家成功擊敗雞排怪時播放)
|
| 77 |
- **失敗音效**:Lose.mp3(玩家挑戰失敗時播放)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
- **音樂控制**:可透過右下角按鈕控制音樂開關
|
| 79 |
-
-
|
| 80 |
- **瀏覽器限制**:部分瀏覽器可能需要用戶互動後才能播放音樂
|
| 81 |
|
| 82 |
## 🔒 隱私說明
|
|
|
|
| 75 |
- **背景音樂**:BGM.mp3(已包含在部署包中)
|
| 76 |
- **勝利音效**:win.mp3(玩家成功擊敗雞排怪時播放)
|
| 77 |
- **失敗音效**:Lose.mp3(玩家挑戰失敗時播放)
|
| 78 |
+
- **攻擊音效**:
|
| 79 |
+
- **強攻擊音效**:atk1.mp3(攻擊力達到強攻擊閾值時播放)
|
| 80 |
+
- **普通攻擊音效**:atk2.mp3(攻擊力達到中等攻擊閾值時播放)
|
| 81 |
+
- **弱攻擊音效**:atk3.mp3(攻擊力較低時播放)
|
| 82 |
- **音樂控制**:可透過右下角按鈕控制音樂開關
|
| 83 |
+
- **自動播放**:遊戲開始時會嘗試播放背景音樂,攻擊和結果音效會在對應時機自動播放
|
| 84 |
- **瀏覽器限制**:部分瀏覽器可能需要用戶互動後才能播放音樂
|
| 85 |
|
| 86 |
## 🔒 隱私說明
|
atk1.mp3
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a4bd484cedb93a081842fa94d2e99dc26f073544306a642e5b821fb02b2d9b8c
|
| 3 |
+
size 162192
|
atk2.mp3
ADDED
|
Binary file (86.2 kB). View file
|
|
|
atk3.mp3
ADDED
|
Binary file (41 kB). View file
|
|
|
audio_controller.js
CHANGED
|
@@ -24,24 +24,23 @@ const audioController = {
|
|
| 24 |
}
|
| 25 |
|
| 26 |
// 初始化攻擊音效
|
| 27 |
-
// 同樣由於版權考量,這裡不包含實際的音效檔案
|
| 28 |
-
/*
|
| 29 |
try {
|
| 30 |
this.attackSounds = {
|
| 31 |
-
|
| 32 |
-
medium: new Audio('
|
| 33 |
-
|
| 34 |
};
|
| 35 |
|
| 36 |
// 設置攻擊音效音量
|
| 37 |
Object.values(this.attackSounds).forEach(sound => {
|
| 38 |
-
sound.volume = 0.
|
| 39 |
sound.preload = 'auto';
|
| 40 |
});
|
|
|
|
|
|
|
| 41 |
} catch (error) {
|
| 42 |
console.log('攻擊音效載入失敗:', error);
|
| 43 |
}
|
| 44 |
-
*/
|
| 45 |
|
| 46 |
// 初始化結果音效
|
| 47 |
try {
|
|
|
|
| 24 |
}
|
| 25 |
|
| 26 |
// 初始化攻擊音效
|
|
|
|
|
|
|
| 27 |
try {
|
| 28 |
this.attackSounds = {
|
| 29 |
+
strong: new Audio('atk1.mp3'), // 強攻擊音效
|
| 30 |
+
medium: new Audio('atk2.mp3'), // 普通攻擊音效
|
| 31 |
+
weak: new Audio('atk3.mp3') // 弱攻擊音效
|
| 32 |
};
|
| 33 |
|
| 34 |
// 設置攻擊音效音量
|
| 35 |
Object.values(this.attackSounds).forEach(sound => {
|
| 36 |
+
sound.volume = 0.6;
|
| 37 |
sound.preload = 'auto';
|
| 38 |
});
|
| 39 |
+
|
| 40 |
+
console.log('攻擊音效已載入: atk1.mp3, atk2.mp3, atk3.mp3');
|
| 41 |
} catch (error) {
|
| 42 |
console.log('攻擊音效載入失敗:', error);
|
| 43 |
}
|
|
|
|
| 44 |
|
| 45 |
// 初始化結果音效
|
| 46 |
try {
|