Khaj
Založen: 16. 01. 2008 Příspěvky: 49
|
Zaslal: 6. srpen 2008, 20:16:30 Předmět: Podivný ID3DXFont |
|
|
Potřeboval bych v DirectX psát text, k čemuž má sloužit ID3DXFont, ale ten bohužel neslouží. Nevíte o nějakých komplikacích které mohou kreslení textu kazit?
Následující kód je z tutoriálu
http://www.drunkenhyena.com/cgi-bin/view_cpp_article.pl?chapter=3;article=17
(a ostatní tutoriály co jsem našel se nijak neliší)
kód: |
// na začátku
ID3DXFOnt *Font=NULL;
//...v kreslicí smyčce:
if (!Font)
HRESULT hr=D3DXCreateFont(Device, //D3D Device
22, //Font height
0, //Font width
FW_NORMAL, //Font Weight
1, //MipLevels
false, //Italic
DEFAULT_CHARSET, //CharSet
OUT_DEFAULT_PRECIS, //OutputPrecision
ANTIALIASED_QUALITY, //Quality
DEFAULT_PITCH|FF_DONTCARE,//PitchAndFamily
"Arial", //pFacename,
&Font); //ppFont
//v tomto místě je hr=0, což značí úspěch a Font také není NULL
char *Txt="POOOOKUUUUSSSS";
RECT font_rect;
SetRect(&font_rect,0,0,50,50);
if(SUCCEEDED( Device->BeginScene() ) )
{
Font->DrawText(NULL, //pSprite
Txt, //pString
-1, //Count
&font_rect, //pRect
DT_LEFT|DT_NOCLIP,//Format,
0xFFFFFFFF); //Color 0xFFFFFFFF
Device->EndScene();
//vše proběhne v pohodě ale text se nezobrazí :(
}
//... dále pak Present a po skončení programu
Font->Release();
|
|
|
Crusty
Založen: 28. 08. 2007 Příspěvky: 120 Bydliště: Praha
|
Zaslal: 7. srpen 2008, 08:57:57 Předmět: |
|
|
citace: |
hr=D3DXCreateFont(Device, //D3D Device
22, //Font height
0, //Font width
FW_NORMAL, //Font Weight
1,
|
zkousel si tam dat i nejakou sirku toho fontu? _________________ http://www.2ox.cz |
|
Khaj
Založen: 16. 01. 2008 Příspěvky: 49
|
Zaslal: 7. srpen 2008, 09:22:16 Předmět: |
|
|
Vyreseno - mel jsem jenom trochu (hodne) bordel v dllkach,libkach,headerech od clootieho/mrkvosoftu
PS. Díky za postřeh, ale šířka fontu nula znamená normalní šířku fontu pro danou výšku |
|