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 "const.h"
|
||||||
#include "animatedsprite.h"
|
#include "animatedsprite.h"
|
||||||
|
|
||||||
|
// Constructor
|
||||||
|
AnimatedSprite::AnimatedSprite(LTexture *texture, SDL_Renderer *renderer)
|
||||||
|
{
|
||||||
|
// Copia los punteros
|
||||||
|
setTexture(texture);
|
||||||
|
setRenderer(renderer);
|
||||||
|
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
AnimatedSprite::~AnimatedSprite()
|
AnimatedSprite::~AnimatedSprite()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,11 +27,7 @@ private:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
AnimatedSprite(LTexture *texture, SDL_Renderer *renderer)
|
AnimatedSprite(LTexture *texture = nullptr, SDL_Renderer *renderer = nullptr);
|
||||||
: MovingSprite(0, 0, 0, 0, 0, 0, 0, 0, texture, renderer)
|
|
||||||
{
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~AnimatedSprite();
|
~AnimatedSprite();
|
||||||
|
|||||||
@@ -1,6 +1,54 @@
|
|||||||
#include "const.h"
|
#include "const.h"
|
||||||
#include "movingsprite.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
|
// Destructor
|
||||||
MovingSprite::~MovingSprite()
|
MovingSprite::~MovingSprite()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,43 +31,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
MovingSprite(float x, float y, int w, int h, float velx, float vely, float accelx, float accely, LTexture *texture, SDL_Renderer *renderer)
|
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);
|
||||||
: 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);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~MovingSprite();
|
~MovingSprite();
|
||||||
|
|||||||
@@ -1,15 +1,38 @@
|
|||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
// Constructor
|
// 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)
|
Sprite::Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer)
|
||||||
{
|
{
|
||||||
// Establece el alto y el ancho del sprite
|
// Establece el alto y el ancho del sprite
|
||||||
mWidth = rect.w;
|
setWidth(rect.w);
|
||||||
mHeight = rect.h;
|
setHeight(rect.h);
|
||||||
|
|
||||||
// Establece la posición X,Y del sprite
|
// Establece la posición X,Y del sprite
|
||||||
mPosX = rect.x;
|
setPosX(rect.x);
|
||||||
mPosY = rect.y;
|
setPosY(rect.y);
|
||||||
|
|
||||||
// Establece el puntero al renderizador de la ventana
|
// Establece el puntero al renderizador de la ventana
|
||||||
setRenderer(renderer);
|
setRenderer(renderer);
|
||||||
@@ -21,30 +44,7 @@ Sprite::Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer)
|
|||||||
setSpriteClip(rect);
|
setSpriteClip(rect);
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
mEnabled = true;
|
setEnabled(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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
@@ -58,7 +58,9 @@ Sprite::~Sprite()
|
|||||||
void Sprite::render()
|
void Sprite::render()
|
||||||
{
|
{
|
||||||
if (mEnabled)
|
if (mEnabled)
|
||||||
|
{
|
||||||
mTexture->render(mRenderer, mPosX, mPosY, &mSpriteClip);
|
mTexture->render(mRenderer, mPosX, mPosY, &mSpriteClip);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// 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(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer);
|
||||||
Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer);
|
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Sprite();
|
~Sprite();
|
||||||
|
|||||||
Reference in New Issue
Block a user