首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

对函数D3DXCreateFont()的一点疑惑。该如何解决

2012-02-20 
对函数D3DXCreateFont()的一点疑惑。。使用这个函数D3DXCreateFont(),一般就是定义一个LPD3DXFONT类型的空指

对函数D3DXCreateFont()的一点疑惑。。
使用这个函数D3DXCreateFont(),一般就是定义一个LPD3DXFONT类型的空指针,然后把这个指针当作参数,
但是D3DXCreateFont()函数都是在一个函数里使用的,而LPD3DXFONT类型的指针是一个全局变量,他怎么可以指向一个局部的数据??

是不是D3DXCreateFont()内部自己维护了一个堆数据? 比如用new???

[解决办法]
如果有地方为ID3DXFont动态开辟内存的话,那一定是写错了。ID3DXFont对象只能由D3DXCreateFont创建,内存分配什么的,都是D3DXCreateFont内部实现的。

D3DXCreateFont内部的工作,你可以这样简化的理解:
HRESULT D3DXCreateFont(LPDIRECT3DDEVICE9 pDevice,...,LPD3DXFONT * ppFont)
{
ID3DXFont* font=new ID3DXFont(pDevice,...);
*ppFont=font;
return (...);
}

热点排行