using std::cout;
using std::endl;
-int Sprite::init(SDL_Surface *screen, Animation *anim, ...)
+Sprite::Sprite(SDL_Surface *screen, std::string name, Animation *anim) :
+ mFrame(0),
+ mDrawn(0),
+ mVisible(true),
+ mLastUpdate(0),
+ mSpriteAnimation(anim),
+ mScreen(screen)
{
- mSpriteAnimation = anim;
+ //later add a part that adds name to list of level sprites
+ //Game.Level.SpriteList.pushback(name);
if(mSpriteAnimation -> mBuilt)
{
- if(mSpriteAnimation->mNumFrames>1) mAnimating =1;
+ if (mSpriteAnimation->mNumFrames > 1) mAnimating = 1;
mBackReplacement = SDL_DisplayFormat(mSpriteAnimation->mAnim[0].image);
}
- mVisible=true;
- mAnimating=true;
- mScreen = screen;
}
void Sprite::clearBG()
class Sprite
{
public:
- Sprite():mFrame(0),mLastUpdate(0),mDrawn(0) {}
- Sprite(std::string name,Animation *anim, SDL_Surface *screen):mSpriteAnimation(anim),mScreen(screen),mFrame(0),mLastUpdate(0),mDrawn(0)
- {
- //later add a part that adds name to list of level sprites
- //Game.Level.SpriteList.pushback(name);
- if(mSpriteAnimation -> mBuilt)
- {
- if(mSpriteAnimation->mNumFrames>1) mAnimating =1;
- mBackReplacement = SDL_DisplayFormat(mSpriteAnimation->mAnim[0].image);
- }
- }
- int init(SDL_Surface *screen, Animation *anim, ...);
+ Sprite(SDL_Surface *screen, std::string name, Animation *anim);
void draw();
void clearBG();
void updateBG();
//Animation sunAnimation = new Animation();\r
sunAnimation.loadAnimation("sun.anim");\r
\r
- Sprite vikings1;\r
- vikings1.name="viking1";\r
- vikings1.init(screen, &vikingAnimation);\r
+ Sprite vikings1(screen, "viking1", &vikingAnimation);\r
vikings1.setPosition(10,30);\r
vikings1.setSpeed(1);\r
\r
- Sprite vikings2;\r
- vikings2.name="viking2";\r
- vikings2.init(screen, &vikingAnimation);\r
+ Sprite vikings2(screen, "viking2", &vikingAnimation);\r
vikings2.setPosition(350,300);\r
vikings2.setSpeed(1.5);\r
\r
- Sprite sun;\r
- sun.name="sun";\r
- sun.init(screen, &sunAnimation);\r
+ Sprite sun(screen, "sun", &sunAnimation);\r
sun.setPosition(480,50);\r
sun.setSpeed(1);\r
\r