forked from jaildesigner-jailgames/jaildoctors_dilemma
Retocadas las clases Sprite e hijas
This commit is contained in:
@@ -1,6 +1,16 @@
|
||||
#include "const.h"
|
||||
#include "animatedsprite.h"
|
||||
|
||||
// Constructor
|
||||
AnimatedSprite::AnimatedSprite(LTexture *texture, SDL_Renderer *renderer)
|
||||
{
|
||||
// Copia los punteros
|
||||
setTexture(texture);
|
||||
setRenderer(renderer);
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
// Destructor
|
||||
AnimatedSprite::~AnimatedSprite()
|
||||
{
|
||||
|
||||
@@ -27,11 +27,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
AnimatedSprite(LTexture *texture, SDL_Renderer *renderer)
|
||||
: MovingSprite(0, 0, 0, 0, 0, 0, 0, 0, texture, renderer)
|
||||
{
|
||||
|
||||
};
|
||||
AnimatedSprite(LTexture *texture = nullptr, SDL_Renderer *renderer = nullptr);
|
||||
|
||||
// Destructor
|
||||
~AnimatedSprite();
|
||||
|
||||
@@ -1,6 +1,54 @@
|
||||
#include "const.h"
|
||||
#include "movingsprite.h"
|
||||
|
||||
// Constructor
|
||||
MovingSprite::MovingSprite(float x, float y, int w, int h, float velx, float vely, float accelx, float accely, LTexture *texture, SDL_Renderer *renderer)
|
||||
{
|
||||
// Copia los punteros
|
||||
setTexture(texture);
|
||||
setRenderer(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 el angulo con el que se dibujará
|
||||
setAngle(0.0);
|
||||
|
||||
// Establece los valores de rotacion
|
||||
setRotate(false);
|
||||
setRotateSpeed(0);
|
||||
setRotateAmount(0.0);
|
||||
|
||||
// Contador interno
|
||||
mCounter = 0;
|
||||
|
||||
// Establece el rectangulo de donde coger la imagen
|
||||
setSpriteClip(0, 0, w, h);
|
||||
|
||||
// Establece el centro de rotación
|
||||
mCenter = {0,0};
|
||||
|
||||
// Establece el tipo de volteado
|
||||
mFlip = SDL_FLIP_NONE;
|
||||
};
|
||||
|
||||
// Destructor
|
||||
MovingSprite::~MovingSprite()
|
||||
{
|
||||
|
||||
@@ -31,43 +31,7 @@ protected:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
MovingSprite(float x, float y, int w, int h, float velx, float vely, float accelx, float accely, LTexture *texture, SDL_Renderer *renderer)
|
||||
: Sprite((int)x, (int)y, w, h, texture, 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 el angulo con el que se dibujará
|
||||
setAngle(0.0);
|
||||
|
||||
// Establece los valores de rotacion
|
||||
setRotate(false);
|
||||
setRotateSpeed(0);
|
||||
setRotateAmount(0.0);
|
||||
|
||||
// Contador interno
|
||||
mCounter = 0;
|
||||
|
||||
// Establece el rectangulo de donde coger la imagen
|
||||
setSpriteClip(0, 0, w, h);
|
||||
};
|
||||
MovingSprite(float x = 0, float y = 0, int w = 0, int h = 0, float velx = 0, float vely = 0, float accelx = 0, float accely = 0, LTexture *texture = nullptr, SDL_Renderer *renderer = nullptr);
|
||||
|
||||
// Destructor
|
||||
~MovingSprite();
|
||||
|
||||
@@ -1,15 +1,38 @@
|
||||
#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
|
||||
mWidth = rect.w;
|
||||
mHeight = rect.h;
|
||||
setWidth(rect.w);
|
||||
setHeight(rect.h);
|
||||
|
||||
// Establece la posición X,Y del sprite
|
||||
mPosX = rect.x;
|
||||
mPosY = rect.y;
|
||||
setPosX(rect.x);
|
||||
setPosY(rect.y);
|
||||
|
||||
// Establece el puntero al renderizador de la ventana
|
||||
setRenderer(renderer);
|
||||
@@ -21,30 +44,7 @@ Sprite::Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer)
|
||||
setSpriteClip(rect);
|
||||
|
||||
// Inicializa variables
|
||||
mEnabled = true;
|
||||
}
|
||||
|
||||
Sprite::Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer)
|
||||
{
|
||||
// Establece el alto y el ancho del sprite
|
||||
mWidth = w;
|
||||
mHeight = h;
|
||||
|
||||
// Establece la posición X,Y del sprite
|
||||
mPosX = x;
|
||||
mPosY = 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
|
||||
mEnabled = true;
|
||||
setEnabled(true);
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -58,7 +58,9 @@ Sprite::~Sprite()
|
||||
void Sprite::render()
|
||||
{
|
||||
if (mEnabled)
|
||||
{
|
||||
mTexture->render(mRenderer, mPosX, mPosY, &mSpriteClip);
|
||||
}
|
||||
}
|
||||
|
||||
// Obten el valor de la variable
|
||||
|
||||
@@ -22,8 +22,8 @@ protected:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Sprite(int x = 0, int y = 0, int w = 0, int h = 0, LTexture *texture = nullptr, SDL_Renderer *renderer = nullptr);
|
||||
Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer);
|
||||
Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer);
|
||||
|
||||
// Destructor
|
||||
~Sprite();
|
||||
|
||||
Reference in New Issue
Block a user