|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jakozk Junior JLI'ler
Anmeldedatum: 16.05.2004 Beiträge: 88 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 07.04.2007, 14:26 Titel: Problem mit DrawText |
|
|
Hallo alle zusammen.
Ich sitze z.Z vor einem mehr oder weniger großen Problem und ich weiss mir net zu helfen. Ich habe aus Kapitel 20 das LoadSurface Projekt und möchte dies nun compilieren. Doch ich bekomme immer 3 Fehler die ich einfach net weg bekomme und bis jetzt konnte mir keiner richtig helfen.
Errors Code: | .\DIRECT3D.CPP(113) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 5 Argumente
.\DIRECT3D.CPP(116) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 5 Argumente
.\DIRECT3D.CPP(166) : error C2664: 'D3DXCreateFontIndirectA': Konvertierung des Parameters 2 von 'LOGFONT *' in 'const D3DXFONT_DESCA *' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
|
und hier der betrefende code:
CPP: | void CDirect3D::DrawText(LPCSTR Text, int x, int y, D3DCOLOR TextColor)
{
RECT r = { x, y, 0, 0 };
// Größe des Rechtecks berechnen
m_lpD3DFont->DrawText(Text, -1, &r, DT_CALCRECT, TextColor);
// Text ausgeben
m_lpD3DFont->DrawText(Text, -1, &r, DT_CENTER, TextColor);
} |
CPP: | void CDirect3D::CreateFont(void)
{
// Struktur für die Beschreibung der Schriftart
// anlegen und Elemente mit 0 initialisieren
LOGFONT LogFont = { 0 };
// das Element lfFaceName muss den Namen der
// gewünschten Schriftart enthalten
strcpy(LogFont.lfFaceName, "Arial");
// nach erfolgreichem Aufruf zeigt lpD3DFont
// auf ein Objekt vom Typ D3DXFont
D3DXCreateFontIndirect(m_lpD3DDevice,
&LogFont,
&m_lpD3DFont);
} |
Ich benutze Visual c++ 2005 Express Edition mit dem Dx SDK Feb. 2007.
Eingetragene Libs : dxguid.lib d3d9.lib d3dx9.lib
Wäre sehr geil wenn ihr mir helfen könntet. |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 07.04.2007, 16:48 Titel: |
|
|
Schon mal in die Doku geschaut?
Also, IMHO haben die zwischendurch mal einfach die Schnittstelle geändert, da ich noch das etwas ältere DX SDK habe, steht das bei mir aber noch nicht drinne.
Einfach mal die Doku aufrufen und dann:
DirectX Graphics -> Reference -> Direct3D Extension -> Interfaces -> ID3DXFont -> DrawText
Da sind dann alle Parameter mit Bedeutungen angegeben. So solltest du den Fehler finden können. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
Asto JLI'ler
Alter: 37 Anmeldedatum: 30.05.2007 Beiträge: 114 Wohnort: Dortmund Medaillen: Keine
|
Verfasst am: 31.05.2007, 14:00 Titel: Re: Problem mit DrawText |
|
|
Nach dem Motto besser spät als nie:
Mit dem DX9 SDK April 2007 muss das so aussehen:
[...] CPP: | // Größe des Rechtecks berechnen
m_lpD3DFont->DrawText(NULL, Text, -1, &r, DT_CALCRECT, TextColor);
// Text ausgeben
m_lpD3DFont->DrawText(NULL, Text, -1, &r, DT_CENTER, TextColor);
| [...]
und
[...] CPP: | D3DXFONT_DESCA LogFont = { 0 };
// das Element lfFaceName muss den Namen der
// gewünschten Schriftart enthalten
strcpy_s(LogFont.FaceName, "Arial");
| [...]
_________________ "A programmer started to cuss, Because getting to sleep was a fuss, As he lay there in bed, Looping 'round in his head, was: while(!asleep()) sheep++;", Unbekannt |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|