Main Page | Namespace List | Class List | File List | Class Members | File Members

video_sprites.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   NGT (Neopontec Gaming Toolkit                                         *
00003  *   Distributed under the terms of the GNU LGPL License                   *
00004  *   Copyright (C) 2005 by Hector Blanco de Frutos                         *
00005  *   hectorblanco@neopontec.com                                            *
00006  *   Refer to the LICENSE file to read the full license agreement          *
00007  ***************************************************************************/
00008  
00009  /**************************************************************************
00010   * This code part was originaly taken from the SDL GFX tutorials at 
00011   * http://cone3d.gamedev.net , developed by Marius Andra
00012   **************************************************************************/
00013   
00014 #ifndef _SPRITES_H_
00015         #define _SPRITES_H_
00016 // The sprite helper structure
00017 struct NGT_SpriteFrame
00018 {
00019   SDL_Surface *image;
00020   int pause;
00021 };
00022 
00023 // The base structure for sprites
00025 
00028 class NGT_SpriteBase
00029 {
00030   public:
00032   int init(char *dir);
00033 
00034   NGT_SpriteFrame *mAnim;
00035   int mBuilt;
00037   int mNumframes;
00039   int mW;
00041   int mH;
00042 };
00043 
00045 
00048 class NGT_Sprite
00049 {
00050   public:
00051   NGT_Sprite() {}
00052   ~NGT_Sprite() {};
00054   int init(NGT_SpriteBase *base, SDL_Surface *screen);
00056   void draw();
00057   void clearBG();
00058   void updateBG();
00060   void setFrame(int nr) { mFrame = nr; }
00062   int getFrame() { return mFrame; }
00063         
00065   void setSpeed(float nr) { mSpeed = nr; }
00067   float getSpeed() { return mSpeed; }
00068 
00070   void toggleAnim() { mAnimating = !mAnimating; }
00072   void startAnim() { mAnimating = 1; }
00074   void stopAnim() { mAnimating = 0; }
00076   void rewind() { mFrame = 0; }
00077 
00079   void xadd(int nr) { mX+=nr; }
00081   void yadd(int nr) { mY+=nr; }
00083   void xset(int nr) { mX=nr; }
00085   void yset(int nr) { mY=nr; }
00087   void set(int xx, int yy) { mX=xx; mY=yy; }
00088   
00090   float getx() {return mX;}
00092   float gety() {return mY;}
00094   int getw() {return mSpriteBase->mAnim[0].image->w;}
00096   int geth() {return mSpriteBase->mAnim[0].image->h;}
00097   
00098   private:
00099   int mFrame;
00100   int mX, mY, mOldX, mOldY;
00101   int mAnimating;
00102   int mDrawn;
00103   float mSpeed;
00104   long mLastupdate;
00105   NGT_SpriteBase *mSpriteBase;
00106   SDL_Surface *mBackreplacement;
00107   SDL_Surface *mScreen;
00108 };
00109 
00111 
00114 short int Sprite_Collide(NGT_Sprite &object1, NGT_Sprite &object2);
00115 
00116 #endif //_SPRITES_H_
00117 

Generated on Sat Feb 4 10:15:16 2006 for Neopntec Gaming Toolkit - API reference by  doxygen 1.4.4