#include "sprite.h" // Constructor Sprite::Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer) { // 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(x, y, w, h); // Inicializa variables setEnabled(true); } Sprite::Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer) { // Establece el alto y el ancho del sprite setWidth(rect.w); setHeight(rect.h); // Establece la posición X,Y del sprite setPosX(rect.x); setPosY(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); // Inicializa variables setEnabled(true); } // Destructor Sprite::~Sprite() { mTexture = nullptr; mRenderer = nullptr; } // Muestra el sprite por pantalla void Sprite::render() { if (mEnabled) { 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; } // Establece el valor de la variable void Sprite::setEnabled(bool value) { mEnabled = value; } // Comprueba si el objeto está habilitado bool Sprite::isEnabled() { return mEnabled; }