[SDL/C++]Problem mit Sprite-Klasse.
-
Hallo.
Ich habe mir mal eine minisprite klasse geschrieben.
wenn ich nur ein bild anzeigen will funktioniert es auch.
aber wenn ich 2 oder 3 anzeigen will dann funktioniert es nicht.
ich poste mal den code:#ifndef _SPRITE_H #define _SPRITE_H class Sprite { public: Sprite(char *filename); void Draw(SDL_Surface *target); private: SDL_Surface *image; };
nun Sprite.cpp
#include "Sprite.h" Sprite::Sprite(char *filename) { image = SDL_LoadBMP(filename); //muss noch fehler überprüfen... } void Sprite::Draw(SDL_Surface *target) { SDL_BlitSurface(image, NULL, target, NULL); }
nun das programm:
//includes... Sprite* bild1 = new Sprite("bild.bmp"); Sprite* bild2 = new Sprite("bildd.bmp"); //... bild1->Draw(screen); bild2->Draw(screen); //... delete bild1; delete bild2;
so klasse ist noch lange nicht fertig aber zum testen reicht es.
lässt sich auch kompileren.
wenn ich es aber starte kommt
**
Speicherzugriffehler
**
bin nicht gerade ein c++"profi" sondern noch eher anfänger.
MFG Vielen Dank
-
warum benutzt du pointer für den klassenzugriff?
-
im buch steht wenn ich es so mache:
Sprite meinbild;
dann kann ich nur in einem block arbeiten. (ich weis nicht wie ich sagen soll)
also:int main() { ///... { Sprite blabla; blabla.machwas(); } blabla.tudas();//geht nicht. }
mfg
-
Wie wäre es denn mit dem Debugger?
Bye, TGGC \-/
-
problem gelöst.
MFG