feat(audio): 添加音频系统支持背景音乐和音效播放

实现完整的音频系统,包括:
1. 添加 SDL2_mixer 依赖
2. 创建音频系统核心类 AudioSystem
3. 实现音乐(Music)和音效(Sound)类
4. 在游戏主循环中初始化音频并播放背景音乐
5. 更新构建脚本以支持音频库
This commit is contained in:
2026-03-19 03:13:18 +08:00
parent fc81c2634c
commit 9ce47cc501
10 changed files with 507 additions and 16 deletions

View File

@@ -13,6 +13,10 @@
#include <frostbite2D/utils/pvf_archive.h>
#include <frostbite2D/utils/script_parser.h>
#include <frostbite2D/audio/audio_system.h>
#include <frostbite2D/audio/sound.h>
#include <frostbite2D/audio/music.h>
using namespace frostbite2D;
int main(int argc, char **argv) {
@@ -92,6 +96,16 @@ int main(int argc, char **argv) {
}
}
AudioSystem::get().init();
AudioSystem::get().setMasterVolume(1.0f);
AudioSystem::get().setSoundVolume(0.8f);
AudioSystem::get().setMusicVolume(0.6f);
auto bgMusic = Music::loadFromFile("assets/BackgroundMusic.mp3");
if (bgMusic) {
bgMusic->play();
}
app.run();
app.shutdown();