#include "sprite.h" // Constructor Sprite::Sprite() { init(nullptr, nullptr); } // Destructor Sprite::~Sprite() { mTexture = nullptr; mRenderer = nullptr; } // Inicializador /*void Sprite::init(LTexture *texture, SDL_Renderer *renderer, int x, int y, Uint16 w, Uint16 h) { // Establece el alto y el ancho del sprite setWidth(w); setHeight(h); // Establece la posición X,Y del sprite setPosX(x); setPosY(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(0, 0, w, h); }*/ // Inicializador void Sprite::init(LTexture *texture, SDL_Renderer *renderer, SDL_Rect rect) { // 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 Uint16 Sprite::getWidth() { return mWidth; } // Obten el valor de la variable Uint16 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(Uint16 w) { mWidth = w; } // Establece el valor de la variable void Sprite::setHeight(Uint16 h) { mHeight = h; } // Obten el valor de la variable SDL_Rect Sprite::getSpriteClip() { return mSpriteClip; } // Establece el valor de la variable void Sprite::setSpriteClip(int x, int y, Uint16 w, Uint16 h) { mSpriteClip.x = x; mSpriteClip.y = y; mSpriteClip.w = w; mSpriteClip.h = h; } // Establece el valor de la variable void Sprite::setSpriteClip(SDL_Rect rect) { mSpriteClip = rect; } // 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; }