我是 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