Diagrama de herencias de zak::Sprite
Métodos públicos | |
| bool | LoadIni (const char *iniFile) |
| bool | Unload () |
| void | SetFrame (int iFrame) |
| int | GetCurrentFrame (void) |
| void | SetAnimation (Animation *Animation) |
| Animation * | GetAnimation () |
| bool | IsAnimationRunning () |
| virtual void | Draw () |
| void | Update (float fTimeBetweenFrames) |
| Sprite () | |
| ~Sprite () | |
Métodos públicos estáticos | |
| static bool | RegisterSprite (char *className=NULL) |
Métodos protegidos | |
| void | SetUVWH (float fU, float fV, float fW, float fH) |
| bool | InitFrames (int iFramesCount, int iFrameWidth, int iFrameHeight, int iFramesCountPerWidth) |
| bool | Load (const char *pszImageFilename, unsigned int uiColorKey, bool persist=false, DWORD filter=2, DWORD mipFilter=2) |
| bool | Load (const string &filename) |
Métodos protegidos estáticos | |
| static void | Constructor (Sprite *spr) |
| static void | Destructor (Sprite *spr) |
| static void | ConstructArray (vector< Sprite > *self) |
| static void | ConstructArray (int length, vector< Sprite > *self) |
| static void | DestructArray (vector< Sprite > *self) |
Atributos protegidos | |
| TexVertex | _sprVertex [4] |
| Texture * | _pTexture |
| float | _fUV [2] |
| float | _fW |
| float | _fH |
| Frame * | _Frames |
| int | _iFramesCount |
| int | _iActualFrame |
| Animation * | _Animation |
| bool | _bAnimationRuning |
| float | _fTime |
| int | _offsetX |
| int | _offsetY |
| float | _offsetU |
| float | _offsetV |
| DWORD | _minFilter |
| DWORD | _magFilter |
bool TestGame::OnInit() { if (!_sprite.LoadIni("./data/graphics/roxy.spr")) return false; if (!_anim.Load("./data/graphics/example.ani")) { return false; } _sprite.SetAnimation(&_anim); } void TestGame::OnFrame() { _sprite.Update((float)_fpsMeter.GetDT()); } void TestGame::OnDraw() { _sprite.Draw(); }
Ejempo de archivo .spr
[SPRITE]
Filename="data/roxy.png" ; Ubicación del bitmap
TextureFilter=0 ; Filtro de textura 0-None 1-Point 2-Linear 3-Triangle 4-Box
TextureMipFilter=0 ; Filtro de textura mipmap 0-None 1-Point 2-Linear 3-Triangle 4-Box
MinFilter=0 ; MinFilter 0-None 1-Point 2-Linear 3-Triangle 4-Box
MagFilter=0 ; MagFilter 0-None 1-Point 2-Linear 3-Triangle 4-Box
ColorKey=4294967295 ; Color que deseamos que sea transparente
FramesCount=44 ; Cantidad de cuadros de animación en total
FrameWidth=146 ; Ancho de cada frame
FrameHeight=155 ; Alto de cada frame
FramesCountPerWidth=7 ; Cantidad de cuadros que hay a lo ancho
OffsetX = 0 ; Offset del comienzo de los cuadros en la textura
OffsetY = 0
PosX=0 ; Posición inicial
PosY=0
PivotPosX=0 ; Posición del Pivot
PivotPosY=0
Width=48 ; Ancho y alto del sprite en pantalla
Height=48
ScaleX=1.0 ; Escala
ScaleY=1.0
Visible=true ; Visible o no
CheckCollision=false ; Activa el chequeo de colisión
CollisionVisible=false ; Area de colisión visible o no
CollisionWidth=25 ; Ancho de la colisión
CollisionHeight=25 ; Alto de la colisión
Persist=false ; Persistencia de la textura en memoria ram o no
| zak::Sprite::Sprite | ( | ) |
Constructor
| zak::Sprite::~Sprite | ( | ) |
Destructor
| bool zak::Sprite::LoadIni | ( | const char * | iniFile | ) |
Permite la carga de un sprite a partir de un archivo de definición de sprites
| iniFile | nombre del archivo a cargar |
| bool zak::Sprite::Unload | ( | ) |
Permite liberar la memoria RAM y de video de la textura cargada
| void zak::Sprite::SetFrame | ( | int | iFrame | ) |
Permite indicar qué cuadro mostrar
| iFrame | cuadro a mostrar |
| int zak::Sprite::GetCurrentFrame | ( | void | ) | [inline] |
Devuelve el cuadro de animación que se está mostrando
| void zak::Sprite::SetAnimation | ( | Animation * | Animation | ) |
Permite indicar la animación a correr
| Animation | puntero a la animación a mostrar que, en caso de ser NULL, cortará la animación actual |
| Animation* zak::Sprite::GetAnimation | ( | ) | [inline] |
Devuelve la animación que se está ejecutando
| bool zak::Sprite::IsAnimationRunning | ( | ) |
Devuelve si la animación está corriendo
| void zak::Sprite::Draw | ( | ) | [virtual] |
Muestra el sprite en pantalla
Reimplementado de zak::Shape.
Reimplementado en zak::Widget, zak::WdgEditBox, y zak::WdgConsole.
| void zak::Sprite::Update | ( | float | fTimeBetweenFrames | ) | [virtual] |
Actualiza el sprite y la animación
| fTimeBetweenFrames | tiempo transcurrido entre iteraciones |
Reimplementado de zak::Entity2D.
Reimplementado en zak::Widget, zak::WdgEditBox, y zak::WdgConsole.
1.5.1-p1