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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#ifndef TEXT_HPP #define TEXT_HPP // KeksX: CText // // Aufgabe: Ausgabe von Text #include "Framework.h" #include "SDL_ttf.h" #include <sstream> class CText { public: CText (); ~CText (); void RenderText (const char *Text, int XPos, int YPos, int Color_R, int Color_G, int Color_B); void RenderInteger (int Integer, int XPos, int YPos, int Color_R, int Color_G, int Color_B); private: SDL_Surface *m_pScreen;// Zeiger auf den Screen des Frameworks TTF_Font *m_pFont;// Zeiger auf die Schriftart SDL_Rect m_Rect; // Rect des Textes }; #endif |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
// KeksX: Text #include "Text.hpp" // CText // // Aufgabe: Screen-Pointer übergeben // CText::CText () { m_pScreen = g_pFramework->GetScreen (); TTF_Init (); m_pFont = TTF_OpenFont("Res/Font/GameFont.TTF", 32); } // CText CText::~CText () { TTF_CloseFont(m_pFont); TTF_Quit (); } // RenderText // // Aufgabe: Text rendern void CText::RenderText (const char *Text, int XPos, int YPos, int Color_R, int Color_G, int Color_B) { SDL_Surface *m_pText; m_Rect.x = XPos; m_Rect.y = YPos; SDL_Color m_Color = {Color_R, Color_G, Color_B, 0}; m_pText = TTF_RenderText_Solid(m_pFont, Text, m_Color); SDL_BlitSurface(m_pText, NULL, m_pScreen, &m_Rect); // Sicheres freigeben if (m_pText != NULL) { SDL_FreeSurface(m_pText); } } // RenderText // RenderInteger // // Aufgabe: Rendert einen Integer void CText::RenderInteger (int Integer, int XPos, int YPos, int Color_R, int Color_G, int Color_B) { SDL_Surface *m_pText; m_Rect.x = XPos; m_Rect.y = YPos; std::stringstream Text; Text.clear(); Text.str( "" ); Text << Integer; // String die Punkte übergeben SDL_Color m_Color = {Color_R, Color_G, Color_B, 0}; m_pText = TTF_RenderText_Solid(m_pFont, Text.str().c_str(), m_Color); SDL_BlitSurface(m_pText, NULL, m_pScreen, &m_Rect); // Sicheres freigeben! if (m_pText != NULL) { SDL_FreeSurface(m_pText); } }// RenderInteger |
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »KeksX« (30.03.2010, 18:16)
C-/C++-Quelltext |
|
1 2 3 |
// KeksX: Text initialisieren m_pText = new CText; g_pText->Init (); |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
#include <sstream> ... std::stringstream s; int zahl = 2; s << zahl; const char* c = s.str().c_str(); |
Werbeanzeige