Actualizada la librería sprite.h
This commit is contained in:
BIN
media/font/8bithud.png
Normal file
BIN
media/font/8bithud.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
194
media/font/8bithud.txt
Normal file
194
media/font/8bithud.txt
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
# box width
|
||||||
|
8
|
||||||
|
# box height
|
||||||
|
8
|
||||||
|
# 32 espacio ( )
|
||||||
|
2
|
||||||
|
# 33 !
|
||||||
|
2
|
||||||
|
# 34 "
|
||||||
|
5
|
||||||
|
# 35 #
|
||||||
|
6
|
||||||
|
# 36 $
|
||||||
|
6
|
||||||
|
# 37 %
|
||||||
|
6
|
||||||
|
# 38 &
|
||||||
|
6
|
||||||
|
# 39 '
|
||||||
|
2
|
||||||
|
# 40 (
|
||||||
|
3
|
||||||
|
# 41 )
|
||||||
|
3
|
||||||
|
# 42 *
|
||||||
|
4
|
||||||
|
# 43 +
|
||||||
|
3
|
||||||
|
# 44 ,
|
||||||
|
2
|
||||||
|
# 45 -
|
||||||
|
3
|
||||||
|
# 46 .
|
||||||
|
2
|
||||||
|
# 47 /
|
||||||
|
4
|
||||||
|
# 48 0
|
||||||
|
6
|
||||||
|
# 49 1
|
||||||
|
6
|
||||||
|
# 50 2
|
||||||
|
6
|
||||||
|
# 51 3
|
||||||
|
6
|
||||||
|
# 52 4
|
||||||
|
6
|
||||||
|
# 53 5
|
||||||
|
6
|
||||||
|
# 54 6
|
||||||
|
6
|
||||||
|
# 55 7
|
||||||
|
6
|
||||||
|
# 56 8
|
||||||
|
6
|
||||||
|
# 57 9
|
||||||
|
6
|
||||||
|
# 58 :
|
||||||
|
2
|
||||||
|
# 59 ;
|
||||||
|
2
|
||||||
|
# 60 <
|
||||||
|
4
|
||||||
|
# 61 =
|
||||||
|
3
|
||||||
|
# 62 >
|
||||||
|
4
|
||||||
|
# 63 ?
|
||||||
|
6
|
||||||
|
# 64 @
|
||||||
|
8
|
||||||
|
# 65 A
|
||||||
|
6
|
||||||
|
# 66 B
|
||||||
|
6
|
||||||
|
# 67 C
|
||||||
|
6
|
||||||
|
# 68 D
|
||||||
|
6
|
||||||
|
# 69 E
|
||||||
|
6
|
||||||
|
# 70 F
|
||||||
|
6
|
||||||
|
# 71 G
|
||||||
|
6
|
||||||
|
# 72 H
|
||||||
|
6
|
||||||
|
# 73 I
|
||||||
|
6
|
||||||
|
# 74 J
|
||||||
|
6
|
||||||
|
# 75 K
|
||||||
|
6
|
||||||
|
# 76 L
|
||||||
|
6
|
||||||
|
# 77 M
|
||||||
|
6
|
||||||
|
# 78 N
|
||||||
|
6
|
||||||
|
# 79 O
|
||||||
|
6
|
||||||
|
# 80 P
|
||||||
|
6
|
||||||
|
# 81 Q
|
||||||
|
6
|
||||||
|
# 82 R
|
||||||
|
6
|
||||||
|
# 83 S
|
||||||
|
6
|
||||||
|
# 84 T
|
||||||
|
6
|
||||||
|
# 85 U
|
||||||
|
6
|
||||||
|
# 86 V
|
||||||
|
5
|
||||||
|
# 87 W
|
||||||
|
6
|
||||||
|
# 88 X
|
||||||
|
6
|
||||||
|
# 89 Y
|
||||||
|
6
|
||||||
|
# 90 Z
|
||||||
|
6
|
||||||
|
# 91 [
|
||||||
|
3
|
||||||
|
# 92 \
|
||||||
|
5
|
||||||
|
# 93 ]
|
||||||
|
3
|
||||||
|
# 94 ^
|
||||||
|
4
|
||||||
|
# 95 _
|
||||||
|
6
|
||||||
|
# 96 `
|
||||||
|
2
|
||||||
|
# 97 a
|
||||||
|
5
|
||||||
|
# 98 b
|
||||||
|
5
|
||||||
|
# 99 c
|
||||||
|
5
|
||||||
|
# 100 d
|
||||||
|
5
|
||||||
|
# 101 e
|
||||||
|
5
|
||||||
|
# 102 f
|
||||||
|
5
|
||||||
|
# 103 g
|
||||||
|
5
|
||||||
|
# 104 h
|
||||||
|
5
|
||||||
|
# 105 i
|
||||||
|
4
|
||||||
|
# 106 j
|
||||||
|
5
|
||||||
|
# 107 k
|
||||||
|
5
|
||||||
|
# 108 l
|
||||||
|
5
|
||||||
|
# 109 m
|
||||||
|
6
|
||||||
|
# 110 n
|
||||||
|
5
|
||||||
|
# 111 o
|
||||||
|
5
|
||||||
|
# 112 p
|
||||||
|
5
|
||||||
|
# 113 q
|
||||||
|
5
|
||||||
|
# 114 r
|
||||||
|
5
|
||||||
|
# 115 s
|
||||||
|
5
|
||||||
|
# 116 t
|
||||||
|
4
|
||||||
|
# 117 u
|
||||||
|
5
|
||||||
|
# 118 v
|
||||||
|
5
|
||||||
|
# 119 w
|
||||||
|
6
|
||||||
|
# 120 x
|
||||||
|
4
|
||||||
|
# 121 y
|
||||||
|
4
|
||||||
|
# 122 z
|
||||||
|
5
|
||||||
|
# 123 {
|
||||||
|
3
|
||||||
|
# 124 |
|
||||||
|
2
|
||||||
|
# 125 }
|
||||||
|
3
|
||||||
|
# 126 ~
|
||||||
|
3
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
#define CONST_H
|
#define CONST_H
|
||||||
|
|
||||||
// Textos
|
// Textos
|
||||||
#define WINDOW_CAPTION "Volcano (@2016,2021 JailDesigner v0.5)"
|
#define WINDOW_CAPTION "Volcano (©2016,2022 JailDesigner v0.6)"
|
||||||
|
|
||||||
const Uint8 GAME_SPEED = 24; //16 = normal-rapido, 24 = normal. Cuanto mas pequeño, más rápido
|
const Uint8 GAME_SPEED = 24; //16 = normal-rapido, 24 = normal. Cuanto mas pequeño, más rápido
|
||||||
|
|
||||||
|
|||||||
@@ -212,7 +212,7 @@ bool Director::initSDL()
|
|||||||
void Director::initObjects()
|
void Director::initObjects()
|
||||||
{
|
{
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text.white = new Text();
|
text.white = new Text("",nullptr,nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Borra los objetos del programa
|
// Borra los objetos del programa
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ void Map::init(SDL_Renderer *renderer, LTexture *texture1, LTexture *texture2, L
|
|||||||
sprite_actor->init(texture2, renderer);
|
sprite_actor->init(texture2, renderer);
|
||||||
|
|
||||||
background = new Sprite();
|
background = new Sprite();
|
||||||
background->init(texture3, renderer);
|
background->setTexture(texture3);
|
||||||
|
background->setRenderer(renderer);
|
||||||
background->setSpriteClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
background->setSpriteClip(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||||
|
|
||||||
src_rect = {0, 0, 0, 0};
|
src_rect = {0, 0, 0, 0};
|
||||||
|
|||||||
@@ -1,20 +1,7 @@
|
|||||||
#include "sprite.h"
|
#include "sprite.h"
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Sprite::Sprite()
|
Sprite::Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *renderer)
|
||||||
{
|
|
||||||
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
|
// Establece el alto y el ancho del sprite
|
||||||
setWidth(w);
|
setWidth(w);
|
||||||
@@ -31,19 +18,21 @@ Sprite::~Sprite()
|
|||||||
setTexture(texture);
|
setTexture(texture);
|
||||||
|
|
||||||
// Establece el rectangulo de donde coger la imagen
|
// Establece el rectangulo de donde coger la imagen
|
||||||
setSpriteClip(0, 0, w, h);
|
setSpriteClip(x, y, w, h);
|
||||||
}*/
|
|
||||||
|
|
||||||
// Inicializador
|
// Inicializa variables
|
||||||
void Sprite::init(LTexture *texture, SDL_Renderer *renderer, SDL_Rect rect)
|
setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
@@ -53,13 +42,26 @@ void Sprite::init(LTexture *texture, SDL_Renderer *renderer, SDL_Rect rect)
|
|||||||
|
|
||||||
// Establece el rectangulo de donde coger la imagen
|
// Establece el rectangulo de donde coger la imagen
|
||||||
setSpriteClip(rect);
|
setSpriteClip(rect);
|
||||||
|
|
||||||
|
// Inicializa variables
|
||||||
|
setEnabled(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Destructor
|
||||||
|
Sprite::~Sprite()
|
||||||
|
{
|
||||||
|
mTexture = nullptr;
|
||||||
|
mRenderer = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Muestra el sprite por pantalla
|
// Muestra el sprite por pantalla
|
||||||
void Sprite::render()
|
void Sprite::render()
|
||||||
|
{
|
||||||
|
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
|
||||||
int Sprite::getPosX()
|
int Sprite::getPosX()
|
||||||
@@ -74,13 +76,13 @@ int Sprite::getPosY()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
Uint16 Sprite::getWidth()
|
int Sprite::getWidth()
|
||||||
{
|
{
|
||||||
return mWidth;
|
return mWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
Uint16 Sprite::getHeight()
|
int Sprite::getHeight()
|
||||||
{
|
{
|
||||||
return mHeight;
|
return mHeight;
|
||||||
}
|
}
|
||||||
@@ -98,13 +100,13 @@ void Sprite::setPosY(int y)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void Sprite::setWidth(Uint16 w)
|
void Sprite::setWidth(int w)
|
||||||
{
|
{
|
||||||
mWidth = w;
|
mWidth = w;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void Sprite::setHeight(Uint16 h)
|
void Sprite::setHeight(int h)
|
||||||
{
|
{
|
||||||
mHeight = h;
|
mHeight = h;
|
||||||
}
|
}
|
||||||
@@ -116,7 +118,13 @@ SDL_Rect Sprite::getSpriteClip()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void Sprite::setSpriteClip(int x, int y, Uint16 w, Uint16 h)
|
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.x = x;
|
||||||
mSpriteClip.y = y;
|
mSpriteClip.y = y;
|
||||||
@@ -124,12 +132,6 @@ void Sprite::setSpriteClip(int x, int y, Uint16 w, Uint16 h)
|
|||||||
mSpriteClip.h = h;
|
mSpriteClip.h = h;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establece el valor de la variable
|
|
||||||
void Sprite::setSpriteClip(SDL_Rect rect)
|
|
||||||
{
|
|
||||||
mSpriteClip = rect;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
LTexture *Sprite::getTexture()
|
LTexture *Sprite::getTexture()
|
||||||
{
|
{
|
||||||
@@ -147,3 +149,22 @@ void Sprite::setRenderer(SDL_Renderer *renderer)
|
|||||||
{
|
{
|
||||||
mRenderer = 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Devuelve el rectangulo donde está el sprite
|
||||||
|
SDL_Rect Sprite::getRect()
|
||||||
|
{
|
||||||
|
SDL_Rect rect = {getPosX(), getPosY(), getWidth(), getHeight()};
|
||||||
|
return rect;
|
||||||
|
}
|
||||||
@@ -8,17 +8,26 @@
|
|||||||
// Clase sprite
|
// Clase sprite
|
||||||
class Sprite
|
class Sprite
|
||||||
{
|
{
|
||||||
|
protected:
|
||||||
|
int mPosX; // Posición en el eje X donde dibujar el sprite
|
||||||
|
int mPosY; // Posición en el eje Y donde dibujar el sprite
|
||||||
|
Uint16 mWidth; // Ancho del sprite
|
||||||
|
Uint16 mHeight; // Alto del sprite
|
||||||
|
|
||||||
|
SDL_Renderer *mRenderer; // Puntero al renderizador de la ventana
|
||||||
|
LTexture *mTexture; // Textura donde estan todos los dibujos del sprite
|
||||||
|
SDL_Rect mSpriteClip; // Rectangulo de origen de la textura que se dibujará en pantalla
|
||||||
|
|
||||||
|
bool mEnabled; // Indica si el sprite esta habilitado
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Sprite();
|
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);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Sprite();
|
~Sprite();
|
||||||
|
|
||||||
// Inicializador
|
|
||||||
//void init(LTexture *texture, SDL_Renderer *renderer, int x = 0, int y = 0, Uint16 w = 0, Uint16 h = 0);
|
|
||||||
void init(LTexture *texture, SDL_Renderer *renderer, SDL_Rect rect = {0, 0, 0, 0});
|
|
||||||
|
|
||||||
// Muestra el sprite por pantalla
|
// Muestra el sprite por pantalla
|
||||||
void render();
|
void render();
|
||||||
|
|
||||||
@@ -29,10 +38,10 @@ public:
|
|||||||
int getPosY();
|
int getPosY();
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
Uint16 getWidth();
|
int getWidth();
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
Uint16 getHeight();
|
int getHeight();
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void setPosX(int x);
|
void setPosX(int x);
|
||||||
@@ -41,18 +50,20 @@ public:
|
|||||||
void setPosY(int y);
|
void setPosY(int y);
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void setWidth(Uint16 w);
|
void setWidth(int w);
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void setHeight(Uint16 h);
|
void setHeight(int h);
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
SDL_Rect getSpriteClip();
|
SDL_Rect getSpriteClip();
|
||||||
|
|
||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void setSpriteClip(int x, int y, Uint16 w, Uint16 h);
|
|
||||||
void setSpriteClip(SDL_Rect rect);
|
void setSpriteClip(SDL_Rect rect);
|
||||||
|
|
||||||
|
// Establece el valor de la variable
|
||||||
|
void setSpriteClip(int x, int y, int w, int h);
|
||||||
|
|
||||||
// Obten el valor de la variable
|
// Obten el valor de la variable
|
||||||
LTexture *getTexture();
|
LTexture *getTexture();
|
||||||
|
|
||||||
@@ -62,16 +73,14 @@ public:
|
|||||||
// Establece el valor de la variable
|
// Establece el valor de la variable
|
||||||
void setRenderer(SDL_Renderer *renderer);
|
void setRenderer(SDL_Renderer *renderer);
|
||||||
|
|
||||||
protected:
|
// Establece el valor de la variable
|
||||||
int mPosX; // Posición X donde dibujar el sprite
|
void setEnabled(bool value);
|
||||||
int mPosY; // Posición Y donde dibujar el sprite
|
|
||||||
|
|
||||||
Uint16 mWidth; // Ancho del sprite
|
// Comprueba si el objeto está habilitado
|
||||||
Uint16 mHeight; // Alto del sprite
|
bool isEnabled();
|
||||||
|
|
||||||
SDL_Renderer *mRenderer; // Puntero al renderizador
|
// Devuelve el rectangulo donde está el sprite
|
||||||
LTexture *mTexture; // Textura donde estan todos los dibujos del sprite
|
SDL_Rect getRect();
|
||||||
SDL_Rect mSpriteClip; // Rectangulo que apunta a la posición de la textura donde está el grafico que se dibujará en pantalla
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user