#include "const.h" #include "movingsprite.h" #include // Constructor MovingSprite::MovingSprite() { init(0, 0, 0, 0, 0, 0, 0, 0, nullptr, nullptr); } // Destructor MovingSprite::~MovingSprite() { init(0, 0, 0, 0, 0, 0, 0, 0, nullptr, nullptr); } // Iniciador void MovingSprite::init(float x, float y, int w, int h, float velx, float vely, float accelx, float accely, 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 la velocidad X,Y del sprite setVelX(velx); setVelY(vely); // Establece la aceleración X,Y del sprite setAccelX(accelx); setAccelY(accely); // Establece el zoom W,H del sprite setZoomW(1); setZoomH(1); // Establece la textura donde están los gráficos para el sprite setTexture(texture); // Establece el renderizador setRenderer(renderer); // Establece el rectangulo de donde coger la imagen setSpriteClip(0, 0, w, h); } // Mueve el sprite void MovingSprite::move() { mPosX += mVelX; mPosY += mVelY; mVelX += mAccelX; mVelY += mAccelY; } // Muestra el sprite por pantalla void MovingSprite::render() { //mTexture->render(mRenderer, (int)mPosX, (int)mPosY, &mSpriteClip); mTexture->render(mRenderer, (int)mPosX, (int)mPosY, &mSpriteClip, mZoomW, mZoomH); } // Establece el valor de la variable float MovingSprite::getPosX() { return mPosX; } // Establece el valor de la variable float MovingSprite::getPosY() { return mPosY; } // Establece el valor de la variable float MovingSprite::getVelX() { return mVelX; } // Establece el valor de la variable float MovingSprite::getVelY() { return mVelY; } // Establece el valor de la variable float MovingSprite::getAccelX() { return mAccelX; } // Establece el valor de la variable float MovingSprite::getAccelY() { return mAccelY; } // Establece el valor de la variable float MovingSprite::getZoomW() { return mZoomW; } // Establece el valor de la variable float MovingSprite::getZoomH() { return mZoomH; } // Establece el valor de la variable void MovingSprite::setPosX(float x) { mPosX = x; } // Establece el valor de la variable void MovingSprite::setPosY(float y) { mPosY = y; } // Establece el valor de la variable void MovingSprite::setVelX(float x) { mVelX = x; } // Establece el valor de la variable void MovingSprite::setVelY(float y) { mVelY = y; } // Establece el valor de la variable void MovingSprite::setAccelX(float x) { mAccelX = x; } // Establece el valor de la variable void MovingSprite::setAccelY(float y) { mAccelY = y; } // Establece el valor de la variable void MovingSprite::setZoomW(float w) { mZoomW = w; } // Establece el valor de la variable void MovingSprite::setZoomH(float h) { mZoomH = h; }