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);
Level::~Level()
{
+ for (size_t i = 0; i < mSprites.size(); ++i) {
+ delete mSprites[i];
+ }
}
void Level::DrawIMG(SDL_Surface *img, int x, int y)
void Level::DrawSprites()
{
for (size_t i=0; i<mSprites.size(); ++i) {
- mSprites[i].clearBG();
+ mSprites[i]->clearBG();
}
for (size_t i=0; i<mSprites.size(); ++i) {
- mSprites[i].updateBG();
+ mSprites[i]->updateBG();
}
for (size_t i=0; i<mSprites.size(); ++i) {
- mSprites[i].draw();
+ mSprites[i]->draw();
}
}
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); }
}
}
}