Files
volcano_2022/source/sprite.h

80 lines
1.9 KiB
C++

#pragma once
#include "ifdefs.h"
#include "ltexture.h"
#ifndef SPRITE_H
#define SPRITE_H
// Clase sprite
class Sprite
{
public:
// Constructor
Sprite();
// Destructor
~Sprite();
// Inicializador
void init(int x, int y, Uint16 w, Uint16 h, LTexture *texture, SDL_Renderer *renderer);
void init(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer);
// Muestra el sprite por pantalla
void render();
// Obten el valor de la variable
int getPosX();
// Obten el valor de la variable
int getPosY();
// Obten el valor de la variable
Uint16 getWidth();
// Obten el valor de la variable
Uint16 getHeight();
// Establece el valor de la variable
void setPosX(int x);
// Establece el valor de la variable
void setPosY(int y);
// Establece el valor de la variable
void setWidth(Uint16 w);
// Establece el valor de la variable
void setHeight(Uint16 h);
// Obten el valor de la variable
SDL_Rect getSpriteClip();
// Establece el valor de la variable
void setSpriteClip(int x, int y, Uint16 w, Uint16 h);
void setSpriteClip(SDL_Rect rect);
// Obten el valor de la variable
LTexture *getTexture();
// Establece el valor de la variable
void setTexture(LTexture *texture);
// Establece el valor de la variable
void setRenderer(SDL_Renderer *renderer);
protected:
int mPosX; // Posición X donde dibujar el sprite
int mPosY; // Posición Y donde dibujar el sprite
Uint16 mWidth; // Ancho del sprite
Uint16 mHeight; // Alto del sprite
SDL_Renderer *mRenderer; // Puntero al renderizador
LTexture *mTexture; // Textura donde estan todos los dibujos del sprite
SDL_Rect mSpriteClip; // Rectangulo de la textura que se dibujará en pantalla
};
#endif