如何使用directX 10绘制字符串?

时间:2012-12-21 08:39:53

标签: directx

我是directX的新手,我对此有疑问。 我想在屏幕上绘制一个字符串,但它不起作用。我在互联网上搜索过,我得到了一些教程。这是代码:

//Create font
void RealGame::CreateMyFont(LPDIRECT3DDEVICE9 d3ddv)
{
D3DXCreateFont(d3ddv,    // the D3D Device
               20,    // font height
               0,    // default font width
               FW_NORMAL,    // font weight
               1,    // not using MipLevels
               false,    // italic font
               DEFAULT_CHARSET,    // default character set
               OUT_DEFAULT_PRECIS,    // default OutputPrecision,
               DEFAULT_QUALITY,    // default Quality
               DEFAULT_PITCH | FF_DONTCARE,    // default pitch and family
               L"Arial",    // use Facename Arial
               &font);


}
//Draw text on screen
void RealGame::DrawGameInfo(LPD3DXSPRITE sp,LPDIRECT3DDEVICE9 d3ddv,LPCWSTR text)
{
RECT textbox;
SetRect(&textbox, 100, 100, 800, 20);
D3DCOLOR fontColor = D3DCOLOR_ARGB(255,0,0,255);  
if(font!=NULL)
    font->DrawText(sp, text, -1, &textbox, 0, fontColor );

}

结果是:屏幕上没有显示文字。 如果我有,请告诉我为什么并纠正我的错误。 谢谢。

更新: 更改后标志为DT_NOCLIP | DT_TOP | DT_LEFT => font-> DrawText(sp,text,-1,& textbox,DT_NOCLIP | DT_TOP | DT_LEFT,fontColor); 有用。 感谢Gnietschow的帮助。

0 个答案:

没有答案