Files
volcano_2022/source/sprite.h

78 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(LTexture *texture, SDL_Renderer *renderer, int x = 0, int y = 0, Uint16 w = 0, Uint16 h = 0);
void init(LTexture *texture, SDL_Renderer *renderer, SDL_Rect rect = {0, 0, 0, 0});
// 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 que apunta a la posición de la textura donde está el grafico que se dibujará en pantalla
};
#endif