gpt4 book ai didi

c++ - 为什么从桌面运行程序时找不到我的声音文件?

转载 作者:行者123 更新时间:2023-12-03 07:01:01 24 4
gpt4 key购买 nike

我正在使用 SFML 制作一个简单的蛇游戏,目前正在尝试添加一种声音,每当蛇“吃掉”其中一个点时就会播放。所以我下载了一个声音文件并将其放在我的项目目录中,并将其添加到我的代码中:

sf::SoundBuffer buffer;
buffer.loadFromFile("Crunch.wav")
sf::Sound crunch;
crunch.setBuffer(buffer);
if (snake.isTouching(food))
{
crunch.play();
}
当我从 Visual Studio 运行游戏时,它运行良好。但是我喜欢把我完成的游戏放在我的桌面上,所以我进入了我的 Debug 文件夹,找到了我的 .exe 文件,创建了一个快捷方式并将它放在我的桌面上。但是每当我尝试使用桌面快捷方式运行程序时,输出窗口上都会显示消息“无法打开声音文件'Crunch.wav'(无法打开流)”。有谁知道是什么原因造成的?当我从 VS 运行程序时,程序按预期运行。
提前致谢。

最佳答案

loadFromFile() 在当前目录中查找,当您在 Visual Studio 中构建和运行时,该目录默认为 ProjectName\ProjectName,在这种情况下,您似乎在 .vcxproj 文件旁边的 ProjectName\ProjectName 文件夹中有 Crunch.wav,所以您应确保以与项目文件夹中相同的方式将 Crunch.wav 与 .exe 一起保存,在这种情况下,将 Crunch.wav 复制到与 .exe 相同的位置

关于c++ - 为什么从桌面运行程序时找不到我的声音文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63063835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com