From: Matt Mullins Date: Sun, 12 Jul 2009 21:01:49 +0000 (-0500) Subject: Switched Level from having Sprites to Sprite*s. X-Git-Url: http://git.mmlx.us/?a=commitdiff_plain;h=711f9cf6d116adea65057b8eaa77ae6ff37502f6;p=IvanGame.git Switched Level from having Sprites to Sprite*s. --- diff --git a/Level.cpp b/Level.cpp index d2bed66..5f48855 100644 --- a/Level.cpp +++ b/Level.cpp @@ -11,17 +11,17 @@ Level::Level(SDL_Surface* screen) : mBackground = LoadImage("Backgrounds/bg.bmp"); // load sprites - Sprite vikings1(screen, "viking1", &mVikingAnimation); - vikings1.setPosition(10,30); - vikings1.setSpeed(1); + Sprite* vikings1 = new Sprite(screen, "viking1", &mVikingAnimation); + vikings1->setPosition(10,30); + vikings1->setSpeed(1); - Sprite vikings2(screen, "viking2", &mVikingAnimation); - vikings2.setPosition(350,300); - vikings2.setSpeed(1.5); + Sprite* vikings2 = new Sprite(screen, "viking2", &mVikingAnimation); + vikings2->setPosition(350,300); + vikings2->setSpeed(1.5); - Sprite sun(screen, "sun", &mSunAnimation); - sun.setPosition(480,50); - sun.setSpeed(1); + Sprite* sun = new Sprite(screen, "sun", &mSunAnimation); + sun->setPosition(480,50); + sun->setSpeed(1); mSprites.push_back(vikings1); mSprites.push_back(vikings2); @@ -30,6 +30,9 @@ Level::Level(SDL_Surface* screen) : Level::~Level() { + for (size_t i = 0; i < mSprites.size(); ++i) { + delete mSprites[i]; + } } void Level::DrawIMG(SDL_Surface *img, int x, int y) @@ -84,13 +87,13 @@ void Level::drawScene() void Level::DrawSprites() { for (size_t i=0; iclearBG(); } for (size_t i=0; iupdateBG(); } for (size_t i=0; idraw(); } } @@ -104,10 +107,10 @@ void Level::postEvent(SDL_Event event) switch (event.type) { case SDL_KEYDOWN: { Uint8 *keys = SDL_GetKeyState(NULL); - if ( keys[SDLK_LEFT] ) { mSprites[0].xadd(-1);} - if ( keys[SDLK_RIGHT] ) { mSprites[0].xadd(1);} - if ( keys[SDLK_UP] ) { mSprites[0].yadd(-1);} - if ( keys[SDLK_DOWN] ) { mSprites[0].yadd(1);} + if ( keys[SDLK_LEFT] ) { mSprites[0]->xadd(-1); } + if ( keys[SDLK_RIGHT] ) { mSprites[0]->xadd(1); } + if ( keys[SDLK_UP] ) { mSprites[0]->yadd(-1); } + if ( keys[SDLK_DOWN] ) { mSprites[0]->yadd(1); } } } } diff --git a/Level.h b/Level.h index 8f2d750..12e24ff 100644 --- a/Level.h +++ b/Level.h @@ -17,7 +17,7 @@ public: private: SDL_Surface *mBackground; SDL_Surface *mScreen; - vector mSprites; + vector mSprites; void DrawBG(); void DrawIMG(); void DrawIMG(SDL_Surface *img, int x, int y);