SDL :: BMP wird nicht gezeichnet
-
Hallo Zusammen
Ich habe mal einwenig mit C++ rumgespielt und versuche mittels SDL ein wenig Farbe ins Programmieren zu bringen

Also mein Problem ist folgendes:
Ich habe folgende Klasse (gekürzte Version):
class CPlayer { public: /* Spielerbitmap laden */ int LoadBMP(); /* Spieler zeichnen */ void Draw(SDL_Surface *target); private: /* SDL_Surface für das Bitmap */ SDL_Surface *bmp; /* Muss der Spieler geupdatet werden */ bool update; }; int CPlayer::LoadBMP() { bmp = SDL_LoadBMP("gfx/player.bmp"); if (!bmp) { fprintf(stderr, "Bitmap konnte nicht geladen werden: %s\n", SDL_GetError()); exit(4); } return 0; } void CPlayer::Draw(SDL_Surface *target) { if(update) { SDL_BlitSurface(bmp, 0, target, 0); SDL_UpdateRect(target, 0, 0, 0, 0); } }Mit der Klasse erstelle ich einen Spieler "testi". Mittels Konstruktor wird dieser mit Informationen gefüttert (LoadBMP() wird ebenfalls aufgerufen). Wenn ich jetzt versuche mittels
testi.Draw(screen);das Bitmap zu zeichen passiert nichts. Die Variable update ist auf true gesetzt, das SDL_Surface screen existiert.
Falls ich das ganze ohne Klassen mache funktionierts ohne Probleme.
Ich hoffe ihr könnt mit dieser dürftigen Beschreibung was anfangen.Grüsse
-
grub schrieb:
Falls ich das ganze ohne Klassen mache funktionierts ohne Probleme.
naja, dann nimm das funktionierende und bau stück für stück deine klassen rum.
So kann man da jetzt nichts zu sagen, das ist viel zu sehr auf dein projekt bezogen.
-
Wo setzt du denn das boolean flag update?
-
Oder benutz doch mal den Debuggger.
Bye, TGGC