#include "sprite.h" // Constructor Sprite::Sprite() { init(0, 0, 0, 0, nullptr, nullptr); } // Destructor Sprite::~Sprite() { mTexture = nullptr; mRenderer = nullptr; } // Inicializador void Sprite::init(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer) { // Establece la posición X,Y del sprite setPosX(x); setPosY(y); // Establece el alto y el ancho del sprite setWidth(w); setHeight(h); // Establece el puntero al renderizador de la ventana setRenderer(renderer); // Establece la textura donde están los gráficos para el sprite setTexture(texture); // Establece el rectangulo de donde coger la imagen setSpriteClip(0, 0, w, h); } // Inicializador void Sprite::init(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer) { // Establece el alto y el ancho del sprite mWidth = rect.w; mHeight = rect.h; // Establece la posición X,Y del sprite mPosX = rect.x; mPosY = rect.y; // Establece el puntero al renderizador de la ventana setRenderer(renderer); // Establece la textura donde están los gráficos para el sprite setTexture(texture); // Establece el rectangulo de donde coger la imagen setSpriteClip(rect); } // Muestra el sprite por pantalla void Sprite::render() { mTexture->render(mRenderer, mPosX, mPosY, &mSpriteClip); } // Obten el valor de la variable int Sprite::getPosX() { return mPosX; } // Obten el valor de la variable int Sprite::getPosY() { return mPosY; } // Obten el valor de la variable int Sprite::getWidth() { return mWidth; } // Obten el valor de la variable int Sprite::getHeight() { return mHeight; } // Establece el valor de la variable void Sprite::setPosX(int x) { mPosX = x; } // Establece el valor de la variable void Sprite::setPosY(int y) { mPosY = y; } // Establece el valor de la variable void Sprite::setWidth(int w) { mWidth = w; } // Establece el valor de la variable void Sprite::setHeight(int h) { mHeight = h; } // Obten el valor de la variable SDL_Rect Sprite::getSpriteClip() { return mSpriteClip; } // Establece el valor de la variable void Sprite::setSpriteClip(SDL_Rect rect) { mSpriteClip = rect; } // Establece el valor de la variable void Sprite::setSpriteClip(int x, int y, int w, int h) { mSpriteClip.x = x; mSpriteClip.y = y; mSpriteClip.w = w; mSpriteClip.h = h; } // Obten el valor de la variable LTexture *Sprite::getTexture() { return mTexture; } // Establece el valor de la variable void Sprite::setTexture(LTexture *texture) { mTexture = texture; } // Establece el valor de la variable void Sprite::setRenderer(SDL_Renderer *renderer) { mRenderer = renderer; }