Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Maxi

Treue Seele

  • »Maxi« ist der Autor dieses Themas

Beiträge: 136

Wohnort: Müncheberg

Beruf: Ich muss noch in die Schule

  • Private Nachricht senden

1

26.06.2003, 12:21

DrawText

Hallo!

Wie ist das mit tbFont::DrawText?

Darf man nur einmal Begin und End aufrufen pro FRame oder mehrmals?

Ich habe nämlich das Problem, dass wenn ich zweimal DrawText aufrufe mit verschiedene Variabeln, dass er trotzdem zweimal die erste Variable zeichnet.

Hier mal mein Code:

In CTischtennis::Render()

m_Kelle->Render(fPassedSecs);
//...
m_Font->Begin();
m_Font->DrawText(tbVector2(10.0f, 10.0f), fps);
m_Font->End();

Und in CKelle::Render()
char* Rot;
sprintf(Rot, "XRot: %f YRot: %f", m_Turn.x, m_Turn.y);

g_App->GetFont()->Begin();
g_App->GetFont()->DrawText(tbVector2(10.0f, 30.0f), Rot);
g_App->GetFont()->End();

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

26.06.2003, 13:09

Re: DrawText

Zitat von »"Maxi"«

char* Rot;
sprintf(Rot, "XRot: %f YRot: %f", m_Turn.x, m_Turn.y);

Aah, was machst Du denn da?
"char* Rot" ist doch garnicht initialisiert! Dieser Zeiger zeigt irgendwo hin! Und sprintf müsste dann eigentlich einen Zugriffsfehler erzeugen! Nimm ein Array: char Rot[256];
Dann geht es sicher auch richtig.

Maxi

Treue Seele

  • »Maxi« ist der Autor dieses Themas

Beiträge: 136

Wohnort: Müncheberg

Beruf: Ich muss noch in die Schule

  • Private Nachricht senden

3

26.06.2003, 15:08

Ja, jetzt geht es.

Ich hatte wahrscheinlich zweimal nicht initialisierte Zeiger und die haben beide auf den selben Speicherbereich gezeigt. Daher die gleiche Ausgabe.

Gruß, MAxi

4

22.07.2003, 15:08

Hi,
Da es wohl zu Thema paßt, folgendes:
Ich finde es sehr schade, daß - S. 334 - ein mehrzeiliger Text nicht rechtsbündig oder zentriert sein kann,
hoffentlich ist eine Änderung bis zur nächsten Auflage geplant!
nofi

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

22.07.2003, 16:30

Ich werde mal schauen, was sich da machen lässt!

6

22.07.2003, 21:14

kannst ja entweder char a[256] machen wie David sagte oder wenns dynamisch sein soll :

char *a = new char[size];
sprintf(a......)
tbFont->DrawText(.....,a);
delete[] a;

oder so ähnlich :)

Werbeanzeige