我尝试将所有图像资源合并到名为resource的文件夹中。因此,将图像路径设置为“resource /”但是我的directX框架仅在我在VS 2010编译时才有效。如果我从调试文件夹运行它无法运行。(我已经将所有图像资源复制到调试文件夹)
string folder = "resource/";
void setTexture(LPDIRECT3DTEXTURE9& texture, string imgName, int imgWidth, int imgHeight, D3DCOLOR TransparentColorKey)
{
string path;
path = folder + imgName;
// Create texture.
hr = D3DXCreateTextureFromFileEx(d3dDevice, path.c_str(), imgWidth, imgHeight,
D3DX_DEFAULT, NULL, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED,
D3DX_DEFAULT, D3DX_DEFAULT, TransparentColorKey, NULL, NULL, &texture);
}
答案 0 :(得分:2)
从Visual Studio调试时的默认工作目录是项目目录,而不是可执行文件所在的目录。在应用程序中使用相对路径时,您必须考虑这一点并更改设置。
答案 1 :(得分:0)
针对您的项目解决方案文件( yourProjectName.sln )位置定义目录&#39;资源&#39; 的相对路径< strong> .exe 文件位置。