从SFML中的相对路径加载图像

时间:2013-07-02 22:00:27

标签: c++ sfml

我正在玩SFML和C ++并且有一个问题,在加载纹理时,你必须像这样指定它的目录:

sf::Texture myTexture;
if(!(myTexture.loadFromFile("C:\\Folder\\image.png")));

但是在分发我的游戏时,我将如何确保用户将游戏下载到同一个驱动器上,而image.png可能位于E:驱动器而不是C:驱动器上。我想知道一种在C ++中定位图像文件的方法,而无需指定其目录。这是理论代码

if(!(myTexture.loadFromFile(@"image.png")));

所以现在无论这个图像位于何处,我的游戏都可以找到图像。我唯一担心的是有人可能已经在那台计算机上有一个名为image.png的文件,所以为此我会给图像文件提供非常抽象和唯一的名称,以防止重复。

1 个答案:

答案 0 :(得分:1)

从相对路径加载图像(以及声音,字体等)也可以。

如果您担心潜在的文件名冲突,请使用包含所有资源的文件夹分发您的游戏。例如yourGame_resources,与您的可执行文件位于同一级别。加载

myTexture.loadFromFile("yourGame_resources/image.png")
相关问题