【发布时间】:2021-11-06 13:36:24
【问题描述】:
我目前正在开发一个带有 sfml 的小游戏。
对于资源加载和保持,我正在使用 SFML 游戏中描述的 ResourceHolder 开发书:SFML ResourceHolder 资源基本上都是以 unique_ptr 的形式存储在地图中的。
在 SoundManager 类中,我将不同的声音加载到此 ResourceHolder。当我想播放声音时,这个 SoundManager 有一个 playSound 功能。
void SoundManager::playSound(SoundType soundToPlay) {
auto buffer = sounds.get(soundToPlay);
auto sound = sf::Sound(buffer);
sound.play();
}
但我听不到任何声音。我必须为地图中的每个声音存储不同的声音对象吗?我也尝试使用 sf::Sound 对象作为类成员,但这也没有用。
使用这个 ResourceHolder 可以正确加载我的纹理。
感谢您的帮助
【问题讨论】: