我是DirectX和C ++编程的新手,但需要完成作业(我已经完成了实际的作业,但是无法让我的代码在编译后运行)。我已经进入我的程序,发现问题是我的D3DXLoadSurfaceFromFile
电话。实际代码是
//load m_Surface from file into newly created m_Surface
result = D3DXLoadSurfaceFromFile(
m_Surface,
NULL,
NULL,
m_BackgroundFile,
NULL,
D3DX_DEFAULT,
0,
NULL);
'结果'在哪里:
HRESULT result = m_d3ddev->CreateOffscreenPlainSurface(
SCREENW, //An int set to 640
SCREENH, //An int set to 480
D3DFMT_X8R8G8B8, //m_Surface's format
D3DPOOL_DEFAULT, //Memory pool
&m_Surface, //Pointer to m_Surface
NULL); //Reserved
m_Surface
是LPDIRECT3DSURFACE9
,最初设置为NULL
。
m_BackgroundFile
设置为“filename.bmp”(24位位图)
和(我认为/希望)其他一切都是不言自明的。
如果有帮助,请在检查之前(这是导致程序关闭的检查)
if (!SUCCEEDED(result))
return false;
结果设置为S_OK,然后设置为-200559767
答案 0 :(得分:0)
从您的代码中,我没有看到任何错误,但我猜您将错误的文件传递给参数m_BackgroundFile,程序无法找到该文件或文件的格式不合格。