如何使用directX 10绘制字符串?
我是directX的新手,对此我有问题。 我想在屏幕上画一条线,但它不起作用。我在互联网上搜索了一下,我得到了一些这方面的教程。代码如下:如何使用directX 10绘制字符串?,directx,Directx,我是directX的新手,对此我有问题。 我想在屏幕上画一条线,但它不起作用。我在互联网上搜索了一下,我得到了一些这方面的教程。代码如下: //Create font void RealGame::CreateMyFont(LPDIRECT3DDEVICE9 d3ddv) { D3DXCreateFont(d3ddv, // the D3D Device 20, // font height 0, // default
//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|U NOCLIP | DT|U TOP | DT|U LEFT后
=>字体->绘图文本(sp,text,-1,&textbox,DT|NOCLIP | DT|u TOP | DT|u LEFT,,fontColor);
它起作用了。
谢谢Gnietschow的帮助。您是在给sprit打电话。开始和结束之前和之后?签出这个是的,我签了,SpriteHandler->Begin(D3DXSPRITE\u ALPHABLEND);DrawGameInfo(SpriteHandler,d3ddv,L“测试文本”);SpriteHandler->End();你有没有试过用旗帜
DT|u NOCLIP | DT|u TOP | DT|u LEFT
?也许它被剪掉了,不管是什么原因。而且你可以让sp为空,只用于测试。天哪,你是我的救星。它可以工作(使用标志DT|u NOCLIP | DT|u TOP | DT|u LEFT)。非常感谢你。