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
Quellcode |
|
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 |
1>------ Erstellen gestartet: Projekt: SDL_Game 3, Konfiguration: Debug Win32 ------ 1> StartGame.cpp 1> Sprite.cpp 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(48): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Background' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(48): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(48): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(49): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'Player' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(49): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(49): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(50): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerLeft' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(50): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(50): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(51): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerRight' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(51): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(51): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(52): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerDown' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(52): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(52): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(53): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerDR' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(53): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(53): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(54): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerUL' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(54): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(54): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(55): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerUR' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(55): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(55): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(56): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'PlayerDL' 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(56): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>d:\admin\documents\visual studio 2010\projects\sdl_game 3\sdl_game 3\startgame.hpp(56): error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1> Game.cpp 1> Code wird generiert... 1> Überspringen... (keine relevanten Änderungen gefunden) 1> main.cpp 1> Text.cpp 1> Music.cpp 1> MainMenu.cpp 1> Framework.cpp 1> Credits.cpp ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== |
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 75 76 77 78 79 80 |
#ifndef STARTGAME_HPP #define STARTGAME_HPP #include <SDL.h> #include <SDL_image.h> #include "Framework.hpp" #include "Sprite.hpp" #include "Music.hpp" #include "Sound.hpp" #include "Text.hpp" class CStartGame { public: // Komstruktor CStartGame (); // Memberfunktionen void Game (); void CheckState (); // Membervariablen bool m_bPlayer; bool m_bPlayerLeft; bool m_bPlayerRight; bool m_bPlayerDown; bool m_bPlayerDR; bool m_bPlayerUL; bool m_bPlayerUR; bool m_bPlayerDL; bool m_bPlayerDRStop; bool m_bPlayerULStop; bool m_bPlayerURStop; bool m_bPlayerDLStop; bool m_bDebug1; SDL_Color textColor; // Bilder für SDL_image CSprite Background; CSprite Player; CSprite PlayerLeft; CSprite PlayerRight; CSprite PlayerDown; CSprite PlayerDR; CSprite PlayerUL; CSprite PlayerUR; CSprite PlayerDL; CText Text; CText Text2; CText Text3; CText Text4; CText Text5; CText Text6; CText Text7; CText Text8; CText Text9; CText Text10; CText Number; char* chText3; char* chText4; char* chText5; char* chText6; char* chText7; char* chText8; char* chText9; char* chText10; }; #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 75 |
#include "StartGame.hpp" #include <iostream> using namespace std; CStartGame::CStartGame () :Background("Data/Images/Background.bmp", 0, 0), Player("Data/Images/Player.bmp", 100, 100), PlayerLeft("Data/Images/PlayerLeft.bmp", 100, 100), PlayerRight("Data/Images/PlayerRight.bmp", 100, 100), PlayerDown("Data/Images/PlayerDown.bmp", 100, 100), PlayerDR("Data/Images/PlayerDR.bmp", 100, 100), PlayerUL("Data/Images/PlayerUL.bmp", 100, 100), PlayerUR("Data/Images/PlayerUR.bmp", 100, 100), PlayerDL("Data/Images/PlayerDL.bmp", 100, 100), Number(22, 300, 300, true, 50, 0, 0, 0), Text(Player.SpritePosition.x, 50, 50, true, 50, 0, 0, 0), Text2(Player.SpritePosition.y, 200, 50, true, 50, 0, 0, 0), Text3(chText3, 500, 50, false, 50, 0, 0, 0), Text4(chText4, 800, 50, false, 50, 0, 0, 0), Text5(chText5, 500, 100, false, 50, 0, 0, 0), Text6(chText6, 800, 100, false, 50, 0, 0, 0), Text7(chText7,500, 150, false, 50, 0, 0, 0), Text8(chText8, 800, 150, false, 50, 0, 0, 0), Text9(chText9, 500, 200, false, 50, 0, 0, 0), Text10(chText10, 800, 200, false, 50, 0, 0, 0) { m_bPlayer = true; m_bPlayerLeft = false; m_bPlayerRight = false; m_bPlayerDown = false; m_bPlayerDR = false; m_bPlayerUL = false; m_bPlayerUR = false; m_bPlayerDL = false; m_bDebug1 = false; m_bPlayerDRStop = false; m_bPlayerULStop = false; m_bPlayerURStop = false; m_bPlayerDLStop = false; } void CStartGame::Game () { // Sprites rendern // Hintergrund rendern Background.Render (); // Spieler rendern if( m_bPlayer == true ) Player.Render (); else if( m_bPlayerLeft == true ) PlayerLeft.Render (); else if( m_bPlayerRight == true ) PlayerRight.Render (); else if( m_bPlayerDown == true ) PlayerDown.Render (); else if( m_bPlayerDR == true || m_bPlayerDRStop == true ) PlayerDR.Render (); else if ( m_bPlayerUL == true || m_bPlayerULStop == true ) PlayerUL.Render (); else if ( m_bPlayerUR == true || m_bPlayerURStop == true ) PlayerUR.Render (); else if ( m_bPlayerDL == true || m_bPlayerDLStop == true ) PlayerDL.Render (); if ( m_bDebug1 == true ) { CheckState (); Number.RenderNumber (); Text.RenderNumber (); Text2.RenderNumber (); Text3.Render (); Text4.Render (); Text5.Render (); Text6.Render (); Text7.Render (); Text8.Render (); Text9.Render (); Text10.Render (); } } void CStartGame::CheckState () {} |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#ifndef SPRITE_HPP #define SPRITE_HPP #include "Framework.hpp" class CSprite { public: CSprite (const char*, int, int); int Render (); SDL_Rect SpritePosition; SDL_Surface* Sprite; }; #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 |
#include "Sprite.hpp" CSprite::CSprite (const char* file, int XPos, int YPos) { Sprite = IMG_Load(file); if(!Sprite) { // Fehler! cout << "Konnte Bild nicht laden! Fehler: " << IMG_GetError() << endl; g_pFramework->Quit (); } SpritePosition.x = XPos; SpritePosition.y = YPos; } int CSprite::Render () { // Colorkey einstellen SDL_SetColorKey (Sprite, SDL_SRCCOLORKEY, SDL_MapRGB (Sprite->format, 255, 0, 255) ); SDL_BlitSurface( Sprite, 0, g_pFramework->GetScreen(), &SpritePosition); return 0; } |
C-/C++-Quelltext |
|
1 2 |
/* Keep the compiler happy */ return(0); |
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 |
#ifndef FRAMEWORK_HPP #define FRAMEWORK_HPP #include <iostream> #include <Windows.h> #include <SDL.h> #include <SDL_image.h> #include <SDL_ttf.h> #include <SDL_mixer.h> #include "Singleton.hpp" #include "Timer.hpp" #include "StartGame.hpp" using namespace std; #define g_pFramework CFramework::Get() class CFramework : public TSingleton<CFramework> { public: bool Init (int ScreenWidth, int ScreenHeight, int ColorDepth, bool bFullscreen); int InitIcon (); void Quit (); void Update (); void Clear (); void Flip (); bool KeyDown (int Key_ID); SDL_Surface *GetScreen () {return m_pScreen;} SDL_Surface *m_pScreen; // Surface für den Screen private: Uint8 *m_pKeystate; // Array für aktuellen Tastaturstatus }; #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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
// FRAMEWORK_CPP #include "Framework.hpp" // Init // // Aufgabe: Framework initialisieren // bool CFramework::Init (int ScreenWidth, int ScreenHeight, int ColorDepth, bool bFullscreen) { // Alle Systeme der SDL initialisieren if (SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER) == -1 ) { cout << "SDL konnte nicht initialisiert werden!" << endl; cout << "Fehlermeldung: " << SDL_GetError () << endl; Quit (); return (false); } // SDL mit dem Grafik- und Audiosystem initialisieren. if(SDL_Init(SDL_INIT_AUDIO) == -1) { // Ups, das hat nicht funktioniert! // Wir geben die Fehlermeldung aus. cout << "Konnte SDL_mixer nicht initialisieren! Fehler: " << SDL_GetError() << endl; return (false); } // SDL mit dem Grafiksystem initialisieren. if(SDL_Init(SDL_INIT_VIDEO) == -1) { cout << "SDL konnte nicht initialisiert werden!" << endl; cout << "Fehlermeldung: " << SDL_GetError () << endl; Quit (); return (false); } // SDL_ttf initialisieren. if(TTF_Init() == -1) { cout << "Konnte SDL_ttf nicht initialisieren! Fehler: " << TTF_GetError() << endl; return (false); } // Vollbild oder Fenstermodus einstellen if (bFullscreen == true) { m_pScreen = SDL_SetVideoMode (ScreenWidth, ScreenHeight, ColorDepth, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN); } else { m_pScreen = SDL_SetVideoMode (ScreenWidth, ScreenHeight, ColorDepth, SDL_HWSURFACE | SDL_DOUBLEBUF); } // Prüfen, ob alles funktioniert hat if (m_pScreen == NULL) { cout << "Videomodus konnte nicht gesetzt werden!" << endl; cout << "Fehlermeldung: " << SDL_GetError () << endl; Quit (); return (false); } InitIcon (); // SDL_mixer const int samplingFrequency = 44100; // 44100 Hz Abtastfrequenz Uint16 audioFormat = AUDIO_S16SYS; // 16 Bits pro Sample const int numChannels = 2; // 2 Kanäle = Stereo const int chunkSize = 4096; // ein guter Wert ... if(Mix_OpenAudio(samplingFrequency, audioFormat, numChannels, chunkSize) == -1) { cout << "Konnte SDL_mixer nicht starten! Fehler: " << Mix_GetError() << endl; return (false); } // Nun setzen wir noch den Titel des Fensters. SDL_WM_SetCaption("SDL_Game 3.21 PreRelease", "SDL_Game 3.21 PreRelease"); // Zeiger auf internes Array für Tastaturstatus ermitteln m_pKeystate = SDL_GetKeyState (NULL); // Alles ging glatt, also true zurückliefern return (true); } // Init // Quit // // Aufgabe: Framework (SDL) beenden // void CFramework::Quit () { // SDL beenden SDL_Quit (); } // Quit // Update // // Aufgabe: Timer und Keyboardstatus updaten // void CFramework::Update () { // Timer updaten g_pTimer->Update (); // Tastaturstatus ermitteln SDL_PumpEvents (); } // Update // Keydown // // Aufgabe: Tastendruck abfragen // bool CFramework::KeyDown (int Key_ID) { // Prüfen, ob Taste gedrückt ist return (m_pKeystate[Key_ID] ? true : false); } // KeyDown // Clear // // Aufgabe: Buffer löschen // void CFramework::Clear () { // Buffer (Surface) mit Hintergrundfarbe füllen SDL_FillRect (m_pScreen, NULL, SDL_MapRGB (m_pScreen->format, 0, 0, 0)); } // Clear // Flip // // Aufgabe: Surface umschalten (flippen) // void CFramework::Flip () { // Surface umschalten SDL_Flip (m_pScreen); } // Flip // InitIcon // // Aufgabe: Icon intialisieren // int CFramework::InitIcon () { SDL_Surface *icon; icon = SDL_LoadBMP("Data/Images/icon.bmp"); if(!icon) { // Fehler! cout << "Konnte Icon nicht laden! Fehler: " << IMG_GetError() << endl; return(false); } SDL_WM_SetIcon(icon,NULL); return 0; } |
C-/C++-Quelltext |
|
1 2 |
/* Keep the compiler happy */ return(0); |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
1>------ Erstellen gestartet: Projekt: SDL_Game 3, Konfiguration: Debug Win32 ------ 1> Sprite.cpp 1> Code wird generiert... 1> Kompilieren... 1> main.cpp 1> Text.cpp 1> StartGame.cpp 1> Music.cpp 1> MainMenu.cpp 1> Game.cpp 1> Framework.cpp 1> Credits.cpp 1> Code wird generiert... 1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden. 1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CSound::CSound(char const *)" (??0CSound@@QAE@PBD@Z)" in Funktion ""public: __thiscall CGame::CGame(void)" (??0CGame@@QAE@XZ)". 1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall CSound::PlaySoundW(int)" (?PlaySoundW@CSound@@QAEXH@Z)" in Funktion ""private: void __thiscall CGame::ProcessEvents(void)" (?ProcessEvents@CGame@@AAEXXZ)". 1>d:\admin\documents\visual studio 2010\Projects\SDL_Game 3\Debug\SDL_Game 3.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise. ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#ifndef SOUND_HPP #define SOUND_HPP #include "Framework.hpp" class CSound { public: CSound (const char*); void PlaySound (int); private: Mix_Chunk* Sound; }; #endif |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include "Sound.hpp" CSound::CSound (const char* file) { // Sounds Mix_Volume( -1, 15 ); Sound = Mix_LoadWAV(file); if(!Sound) { // Fehler! cout << "Konnte WAV-Datei nicht laden! Fehler: " << Mix_GetError() << endl; g_pFramework->Quit (); } } void CSound::PlaySound (int loops) { Mix_PlayChannel( -1, Sound, loops); } |
C-/C++-Quelltext |
|
1 2 |
/* Keep the compiler happy */ return(0); |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Quellcode |
|
1 2 |
1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall CSound::CSound(char const *)" (??0CSound@@QAE@PBD@Z)" in Funktion ""public: __thiscall CGame::CGame(void)" (??0CGame@@QAE@XZ)". 1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: void __thiscall CSound::PlaySoundW(int)" (?PlaySoundW@CSound@@QAEXH@Z)" in Funktion ""private: void __thiscall CGame::ProcessEvents(void)" (?ProcessEvents@CGame@@AAEXXZ)". |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BlueCobold« (15.05.2013, 21:40)
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 |
#include "Framework.hpp" #include "String.hpp" class CText { public: CText (const char* text, int XPos, int YPos, bool m_bFreeSans, int size, int R, int G, int B); CText (int Number, int XPos, int YPos, bool m_bFreeSans, int size, int R, int G, int B); void Render (); void RenderNumber (); SDL_Rect TextPosition; int Number2; private: SDL_Surface* Text; TTF_Font* FreeSans; TTF_Font* Arial; const char* text2; int XPos2; int YPos2; bool m_bFreeSans2; int size2; SDL_Color textColor2; bool m_bNumber; }; #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 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
#include "Text.hpp" // Konstruktor für Textwerte CText::CText (const char* text, int XPos, int YPos, bool m_bFreeSans, int size, int R, int G, int B) { if( m_bFreeSans == true ) { FreeSans = TTF_OpenFont("Data/TTF/FreeSans.ttf", size); if(!FreeSans) { // Fehler! cout << "Konnte Schriftart nicht laden! Fehler: " << TTF_GetError() << endl; g_pFramework->Quit (); } } else if( m_bFreeSans == false ) { Arial = TTF_OpenFont("Data/TTF/arial.ttf", size); if(!Arial) { // Fehler! cout << "Konnte Schriftart nicht laden! Fehler: " << TTF_GetError() << endl; g_pFramework->Quit (); } } SDL_Color textColor = {R, G, B}; XPos = TextPosition.x; YPos = TextPosition.y; if( m_bFreeSans == true ) Text = TTF_RenderText_Blended( FreeSans, text, textColor); else if( m_bFreeSans == false) Text = TTF_RenderText_Blended( Arial, text, textColor); text = text2; XPos = XPos2; YPos = YPos2; m_bFreeSans = m_bFreeSans2; size = size2; m_bNumber = false; } // Konstruktor für Nummerwerte CText::CText (int Number,int XPos, int YPos, bool m_bFreeSans, int size, int R, int G, int B) { if( m_bFreeSans == true ) { FreeSans = TTF_OpenFont("Data/TTF/FreeSans.ttf", size); if(!FreeSans) { // Fehler! cout << "Konnte Schriftart nicht laden! Fehler: " << TTF_GetError() << endl; g_pFramework->Quit (); } } else if( m_bFreeSans == false ) { Arial = TTF_OpenFont("Data/TTF/arial.ttf", size); if(!Arial) { // Fehler! cout << "Konnte Schriftart nicht laden! Fehler: " << TTF_GetError() << endl; g_pFramework->Quit (); } } SDL_Color textColor = {R, G, B}; XPos = TextPosition.x; YPos = TextPosition.y; if( m_bFreeSans == true ) Text = TTF_RenderText_Blended( FreeSans, to_string(Number).c_str(), textColor); else if( m_bFreeSans == false) Text = TTF_RenderText_Blended( Arial, to_string(Number).c_str(), textColor); Number = Number2; XPos = XPos2; YPos = YPos2; m_bFreeSans = m_bFreeSans2; size = size2; textColor = textColor2; m_bNumber = true; } void CText::Render () { SDL_BlitSurface( Text, 0, g_pFramework->GetScreen(), &TextPosition); } void CText::RenderNumber () { if( m_bNumber == true && m_bFreeSans2 == true ) Text = TTF_RenderText_Blended( FreeSans, to_string(Number2).c_str(), textColor2); if( m_bNumber == true && m_bFreeSans2 == false ) Text = TTF_RenderText_Blended( Arial, to_string(Number2).c_str(), textColor2); if( m_bNumber == false && m_bFreeSans2 == true ) Text = TTF_RenderText_Blended( FreeSans, text2, textColor2); if( m_bNumber == false && m_bFreeSans2 == false ) Text = TTF_RenderText_Blended( Arial, text2, textColor2); SDL_BlitSurface( Text, 0, g_pFramework->GetScreen (), &TextPosition); } |
C-/C++-Quelltext |
|
1 2 |
/* Keep the compiler happy */ return(0); |
Werbeanzeige