Añadido cambio de color en las nubes
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 25 KiB |
@@ -1,11 +1,10 @@
|
|||||||
#include "background.h"
|
#include "background.h"
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, param_t *param)
|
Background::Background(SDL_Renderer *renderer, Asset *asset, param_t *param)
|
||||||
{
|
{
|
||||||
// Copia los punteros
|
// Copia los punteros
|
||||||
this->renderer = renderer;
|
this->renderer = renderer;
|
||||||
this->screen = screen;
|
|
||||||
this->asset = asset;
|
this->asset = asset;
|
||||||
this->param = param;
|
this->param = param;
|
||||||
|
|
||||||
@@ -22,38 +21,46 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, par
|
|||||||
color = {param->backgroundAttenuateColor.r, param->backgroundAttenuateColor.g, param->backgroundAttenuateColor.b};
|
color = {param->backgroundAttenuateColor.r, param->backgroundAttenuateColor.g, param->backgroundAttenuateColor.b};
|
||||||
alphaColorText = alphaColorTextTemp = param->backgroundAttenuateAlpha;
|
alphaColorText = alphaColorTextTemp = param->backgroundAttenuateAlpha;
|
||||||
|
|
||||||
|
// Carga las texturas
|
||||||
|
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
||||||
|
topCloudsTexture = new Texture(renderer, asset->get("game_clouds1.png"));
|
||||||
|
bottomCloudsTexture = new Texture(renderer, asset->get("game_clouds2.png"));
|
||||||
|
grassTexture = new Texture(renderer, asset->get("game_grass.png"));
|
||||||
|
gradientsTexture = new Texture(renderer, asset->get("game_sky_colors.png"));
|
||||||
|
|
||||||
gradientRect[0] = {0, 0, rect.w, rect.h};
|
gradientRect[0] = {0, 0, rect.w, rect.h};
|
||||||
gradientRect[1] = {rect.w, 0, rect.w, rect.h};
|
gradientRect[1] = {rect.w, 0, rect.w, rect.h};
|
||||||
gradientRect[2] = {0, rect.h, rect.w, rect.h};
|
gradientRect[2] = {0, rect.h, rect.w, rect.h};
|
||||||
gradientRect[3] = {rect.w, rect.h, rect.w, rect.h};
|
gradientRect[3] = {rect.w, rect.h, rect.w, rect.h};
|
||||||
|
|
||||||
// Carga las texturas
|
const int topCloudsTextureHeight = topCloudsTexture->getHeight() / 4;
|
||||||
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
const int bottomCloudsTextureHeight = bottomCloudsTexture->getHeight() / 4;
|
||||||
clouds1Texture = new Texture(renderer, asset->get("game_clouds1.png"));
|
for (int i = 0; i < 4; ++i)
|
||||||
clouds2Texture = new Texture(renderer, asset->get("game_clouds2.png"));
|
{
|
||||||
grassTexture = new Texture(renderer, asset->get("game_grass.png"));
|
topCloudsRect[i] = {0, i * topCloudsTextureHeight, topCloudsTexture->getWidth(), topCloudsTextureHeight};
|
||||||
gradientsTexture = new Texture(renderer, asset->get("game_sky_colors.png"));
|
bottomCloudsRect[i] = {0, i * bottomCloudsTextureHeight, bottomCloudsTexture->getWidth(), bottomCloudsTextureHeight};
|
||||||
|
}
|
||||||
|
|
||||||
// Crea los sprites
|
// Crea los sprites
|
||||||
const int clouds1y = base - 165;
|
const int clouds1y = base - 165;
|
||||||
const int clouds2y = base - 101;
|
const int clouds2y = base - 101;
|
||||||
const float clouds1speed = 0.1f;
|
const float clouds1speed = 0.1f;
|
||||||
const float clouds2speed = 0.05f;
|
const float clouds2speed = 0.05f;
|
||||||
clouds1A = new MovingSprite(0, clouds1y, rect.w, clouds1Texture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, clouds1Texture);
|
topCloudsSprite_A = new MovingSprite(0, clouds1y, rect.w, topCloudsTexture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, topCloudsTexture);
|
||||||
clouds1B = new MovingSprite(rect.w, clouds1y, rect.w, clouds1Texture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, clouds1Texture);
|
topCloudsSprite_B = new MovingSprite(rect.w, clouds1y, rect.w, topCloudsTexture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, topCloudsTexture);
|
||||||
|
|
||||||
clouds2A = new MovingSprite(0, clouds2y, rect.w, clouds2Texture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, clouds2Texture);
|
bottomCloudsSprite_A = new MovingSprite(0, clouds2y, rect.w, bottomCloudsTexture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, bottomCloudsTexture);
|
||||||
clouds2B = new MovingSprite(rect.w, clouds2y, rect.w, clouds2Texture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, clouds2Texture);
|
bottomCloudsSprite_B = new MovingSprite(rect.w, clouds2y, rect.w, bottomCloudsTexture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, bottomCloudsTexture);
|
||||||
|
|
||||||
buildingsSprite = new Sprite(0, 0, buildingsTexture->getWidth(), buildingsTexture->getHeight(), buildingsTexture);
|
buildingsSprite = new Sprite(0, 0, buildingsTexture->getWidth(), buildingsTexture->getHeight(), buildingsTexture);
|
||||||
gradientSprite = new Sprite(0, 0, rect.w, rect.h, gradientsTexture);
|
gradientSprite = new Sprite(0, 0, rect.w, rect.h, gradientsTexture);
|
||||||
grassSprite = new Sprite(0, 0, grassTexture->getWidth(), grassTexture->getHeight() / 2, grassTexture);
|
grassSprite = new Sprite(0, 0, grassTexture->getWidth(), grassTexture->getHeight() / 2, grassTexture);
|
||||||
|
|
||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
clouds1A->setSpriteClip(0, 0, clouds1Texture->getWidth(), clouds1Texture->getHeight());
|
topCloudsSprite_A->setSpriteClip(0, 0, topCloudsTexture->getWidth(), topCloudsTexture->getHeight());
|
||||||
clouds1B->setSpriteClip(0, 0, clouds1Texture->getWidth(), clouds1Texture->getHeight());
|
topCloudsSprite_B->setSpriteClip(0, 0, topCloudsTexture->getWidth(), topCloudsTexture->getHeight());
|
||||||
clouds2A->setSpriteClip(0, 0, clouds2Texture->getWidth(), clouds2Texture->getHeight());
|
bottomCloudsSprite_A->setSpriteClip(0, 0, bottomCloudsTexture->getWidth(), bottomCloudsTexture->getHeight());
|
||||||
clouds2B->setSpriteClip(0, 0, clouds2Texture->getWidth(), clouds2Texture->getHeight());
|
bottomCloudsSprite_B->setSpriteClip(0, 0, bottomCloudsTexture->getWidth(), bottomCloudsTexture->getHeight());
|
||||||
buildingsSprite->setPosY(base - buildingsSprite->getHeight());
|
buildingsSprite->setPosY(base - buildingsSprite->getHeight());
|
||||||
grassSprite->setPosY(base - grassSprite->getHeight());
|
grassSprite->setPosY(base - grassSprite->getHeight());
|
||||||
|
|
||||||
@@ -72,15 +79,15 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, par
|
|||||||
Background::~Background()
|
Background::~Background()
|
||||||
{
|
{
|
||||||
delete buildingsTexture;
|
delete buildingsTexture;
|
||||||
delete clouds1Texture;
|
delete topCloudsTexture;
|
||||||
delete clouds2Texture;
|
delete bottomCloudsTexture;
|
||||||
delete grassTexture;
|
delete grassTexture;
|
||||||
delete gradientsTexture;
|
delete gradientsTexture;
|
||||||
|
|
||||||
delete clouds1A;
|
delete topCloudsSprite_A;
|
||||||
delete clouds1B;
|
delete topCloudsSprite_B;
|
||||||
delete clouds2A;
|
delete bottomCloudsSprite_A;
|
||||||
delete clouds2B;
|
delete bottomCloudsSprite_B;
|
||||||
delete buildingsSprite;
|
delete buildingsSprite;
|
||||||
delete gradientSprite;
|
delete gradientSprite;
|
||||||
delete grassSprite;
|
delete grassSprite;
|
||||||
@@ -95,7 +102,7 @@ void Background::update()
|
|||||||
updateAlphaColorText();
|
updateAlphaColorText();
|
||||||
|
|
||||||
// Actualiza las nubes
|
// Actualiza las nubes
|
||||||
updateCLouds();
|
updateClouds();
|
||||||
|
|
||||||
// Calcula el frame de la hierba
|
// Calcula el frame de la hierba
|
||||||
grassSprite->setSpriteClip(0, (10 * (counter / 20 % 2)), 320, 10);
|
grassSprite->setSpriteClip(0, (10 * (counter / 20 % 2)), 320, 10);
|
||||||
@@ -109,6 +116,56 @@ void Background::update()
|
|||||||
fillCanvas();
|
fillCanvas();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Dibuja el gradiente de fondo
|
||||||
|
void Background::renderGradient()
|
||||||
|
{
|
||||||
|
// Dibuja el gradiente 2
|
||||||
|
gradientsTexture->setAlpha(255);
|
||||||
|
gradientSprite->setSpriteClip(gradientRect[(gradientNumber + 1) % 4]);
|
||||||
|
gradientSprite->render();
|
||||||
|
|
||||||
|
// Dibuja el gradiente 1 con una opacidad cada vez menor
|
||||||
|
gradientsTexture->setAlpha(alpha);
|
||||||
|
gradientSprite->setSpriteClip(gradientRect[gradientNumber]);
|
||||||
|
gradientSprite->render();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dibuja las nubes de arriba
|
||||||
|
void Background::renderTopClouds()
|
||||||
|
{
|
||||||
|
// Dibuja el primer conjunto de nubes
|
||||||
|
topCloudsTexture->setAlpha(255);
|
||||||
|
topCloudsSprite_A->setSpriteClip(topCloudsRect[(gradientNumber + 1) % 4]);
|
||||||
|
topCloudsSprite_A->render();
|
||||||
|
topCloudsSprite_B->setSpriteClip(topCloudsRect[(gradientNumber + 1) % 4]);
|
||||||
|
topCloudsSprite_B->render();
|
||||||
|
|
||||||
|
// Dibuja el segundo conjunto de nubes
|
||||||
|
topCloudsTexture->setAlpha(alpha);
|
||||||
|
topCloudsSprite_A->setSpriteClip(topCloudsRect[gradientNumber]);
|
||||||
|
topCloudsSprite_A->render();
|
||||||
|
topCloudsSprite_B->setSpriteClip(topCloudsRect[gradientNumber]);
|
||||||
|
topCloudsSprite_B->render();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dibuja las nubes de abajo
|
||||||
|
void Background::renderBottomClouds()
|
||||||
|
{
|
||||||
|
// Dibuja el primer conjunto de nubes
|
||||||
|
bottomCloudsTexture->setAlpha(255);
|
||||||
|
bottomCloudsSprite_A->setSpriteClip(bottomCloudsRect[(gradientNumber + 1) % 4]);
|
||||||
|
bottomCloudsSprite_A->render();
|
||||||
|
bottomCloudsSprite_B->setSpriteClip(bottomCloudsRect[(gradientNumber + 1) % 4]);
|
||||||
|
bottomCloudsSprite_B->render();
|
||||||
|
|
||||||
|
// Dibuja el segundo conjunto de nubes
|
||||||
|
bottomCloudsTexture->setAlpha(alpha);
|
||||||
|
bottomCloudsSprite_A->setSpriteClip(bottomCloudsRect[gradientNumber]);
|
||||||
|
bottomCloudsSprite_A->render();
|
||||||
|
bottomCloudsSprite_B->setSpriteClip(bottomCloudsRect[gradientNumber]);
|
||||||
|
bottomCloudsSprite_B->render();
|
||||||
|
}
|
||||||
|
|
||||||
// Compone todos los elementos del fondo en la textura
|
// Compone todos los elementos del fondo en la textura
|
||||||
void Background::fillCanvas()
|
void Background::fillCanvas()
|
||||||
{
|
{
|
||||||
@@ -116,21 +173,14 @@ void Background::fillCanvas()
|
|||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, canvas);
|
SDL_SetRenderTarget(renderer, canvas);
|
||||||
|
|
||||||
// Dibuja el gradiente 2
|
// Dibuja el gradiente de fondo
|
||||||
gradientSprite->setSpriteClip(gradientRect[(gradientNumber + 1) % 4]);
|
renderGradient();
|
||||||
gradientsTexture->setAlpha(255);
|
|
||||||
gradientSprite->render();
|
|
||||||
|
|
||||||
// Dibuja el gradiente 1 con una opacidad cada vez menor
|
// Dibuja las nubes de arriba
|
||||||
gradientSprite->setSpriteClip(gradientRect[gradientNumber]);
|
renderTopClouds();
|
||||||
gradientsTexture->setAlpha(alpha);
|
|
||||||
gradientSprite->render();
|
|
||||||
|
|
||||||
// Dibuja las nubes
|
// Dibuja las nubes de abajo
|
||||||
clouds1A->render();
|
renderBottomClouds();
|
||||||
clouds1B->render();
|
|
||||||
clouds2A->render();
|
|
||||||
clouds2B->render();
|
|
||||||
|
|
||||||
// Dibuja los edificios
|
// Dibuja los edificios
|
||||||
buildingsSprite->render();
|
buildingsSprite->render();
|
||||||
@@ -156,8 +206,8 @@ void Background::render()
|
|||||||
void Background::reloadTextures()
|
void Background::reloadTextures()
|
||||||
{
|
{
|
||||||
buildingsTexture->reLoad();
|
buildingsTexture->reLoad();
|
||||||
clouds1Texture->reLoad();
|
topCloudsTexture->reLoad();
|
||||||
clouds2Texture->reLoad();
|
bottomCloudsTexture->reLoad();
|
||||||
grassTexture->reLoad();
|
grassTexture->reLoad();
|
||||||
gradientsTexture->reLoad();
|
gradientsTexture->reLoad();
|
||||||
}
|
}
|
||||||
@@ -248,38 +298,38 @@ void Background::updateAlphaColorText()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza las nubes
|
// Actualiza las nubes
|
||||||
void Background::updateCLouds()
|
void Background::updateClouds()
|
||||||
{
|
{
|
||||||
// Aplica la velocidad calculada a las nubes
|
// Aplica la velocidad calculada a las nubes
|
||||||
clouds1A->setVelX(cloudsSpeed);
|
topCloudsSprite_A->setVelX(cloudsSpeed);
|
||||||
clouds1B->setVelX(cloudsSpeed);
|
topCloudsSprite_B->setVelX(cloudsSpeed);
|
||||||
clouds2A->setVelX(cloudsSpeed / 2);
|
bottomCloudsSprite_A->setVelX(cloudsSpeed / 2);
|
||||||
clouds2B->setVelX(cloudsSpeed / 2);
|
bottomCloudsSprite_B->setVelX(cloudsSpeed / 2);
|
||||||
|
|
||||||
// Mueve las nubes
|
// Mueve las nubes
|
||||||
clouds1A->move();
|
topCloudsSprite_A->move();
|
||||||
clouds1B->move();
|
topCloudsSprite_B->move();
|
||||||
clouds2A->move();
|
bottomCloudsSprite_A->move();
|
||||||
clouds2B->move();
|
bottomCloudsSprite_B->move();
|
||||||
|
|
||||||
// Calcula el offset de las nubes
|
// Calcula el offset de las nubes
|
||||||
if (clouds1A->getPosX() < -clouds1A->getWidth())
|
if (topCloudsSprite_A->getPosX() < -topCloudsSprite_A->getWidth())
|
||||||
{
|
{
|
||||||
clouds1A->setPosX(clouds1A->getWidth());
|
topCloudsSprite_A->setPosX(topCloudsSprite_A->getWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clouds1B->getPosX() < -clouds1B->getWidth())
|
if (topCloudsSprite_B->getPosX() < -topCloudsSprite_B->getWidth())
|
||||||
{
|
{
|
||||||
clouds1B->setPosX(clouds1B->getWidth());
|
topCloudsSprite_B->setPosX(topCloudsSprite_B->getWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clouds2A->getPosX() < -clouds2A->getWidth())
|
if (bottomCloudsSprite_A->getPosX() < -bottomCloudsSprite_A->getWidth())
|
||||||
{
|
{
|
||||||
clouds2A->setPosX(clouds2A->getWidth());
|
bottomCloudsSprite_A->setPosX(bottomCloudsSprite_A->getWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clouds2B->getPosX() < -clouds2B->getWidth())
|
if (bottomCloudsSprite_B->getPosX() < -bottomCloudsSprite_B->getWidth())
|
||||||
{
|
{
|
||||||
clouds2B->setPosX(clouds2B->getWidth());
|
bottomCloudsSprite_B->setPosX(bottomCloudsSprite_B->getWidth());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -46,19 +46,18 @@ class Background
|
|||||||
private:
|
private:
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
|
||||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||||
|
|
||||||
Texture *buildingsTexture; // Textura con los edificios de fondo
|
Texture *buildingsTexture; // Textura con los edificios de fondo
|
||||||
Texture *clouds1Texture; // Textura con las nubes de fondo
|
Texture *topCloudsTexture; // Textura con las nubes de fondo
|
||||||
Texture *clouds2Texture; // Textura con las nubes de fondo
|
Texture *bottomCloudsTexture; // Textura con las nubes de fondo
|
||||||
Texture *grassTexture; // Textura con la hierba del suelo
|
Texture *grassTexture; // Textura con la hierba del suelo
|
||||||
Texture *gradientsTexture; // Textura con los diferentes colores de fondo del juego
|
Texture *gradientsTexture; // Textura con los diferentes colores de fondo del juego
|
||||||
|
|
||||||
MovingSprite *clouds1A; // Sprite para las nubes superiores
|
MovingSprite *topCloudsSprite_A; // Sprite para las nubes superiores
|
||||||
MovingSprite *clouds1B; // Sprite para las nubes superiores
|
MovingSprite *topCloudsSprite_B; // Sprite para las nubes superiores
|
||||||
MovingSprite *clouds2A; // Sprite para las nubes inferiores
|
MovingSprite *bottomCloudsSprite_A; // Sprite para las nubes inferiores
|
||||||
MovingSprite *clouds2B; // Sprite para las nubes inferiores
|
MovingSprite *bottomCloudsSprite_B; // Sprite para las nubes inferiores
|
||||||
|
|
||||||
Sprite *buildingsSprite; // Sprite con los edificios de fondo
|
Sprite *buildingsSprite; // Sprite con los edificios de fondo
|
||||||
Sprite *gradientSprite; // Sprite con los graficos del degradado de color de fondo
|
Sprite *gradientSprite; // Sprite con los graficos del degradado de color de fondo
|
||||||
@@ -71,6 +70,8 @@ private:
|
|||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
SDL_Rect gradientRect[4]; // Vector con las coordenadas de los 4 degradados para el cielo
|
SDL_Rect gradientRect[4]; // Vector con las coordenadas de los 4 degradados para el cielo
|
||||||
|
SDL_Rect topCloudsRect[4]; // Vector con las coordenadas de los 4 nubes de arriba
|
||||||
|
SDL_Rect bottomCloudsRect[4]; // Vector con las coordenadas de los 4 nubes de abajo
|
||||||
int gradientNumber; // Indica el número de degradado de fondo que se va a dibujar
|
int gradientNumber; // Indica el número de degradado de fondo que se va a dibujar
|
||||||
int alpha; // Transparencia entre los dos degradados
|
int alpha; // Transparencia entre los dos degradados
|
||||||
float cloudsSpeed; // Velocidad a la que se desplazan las nubes
|
float cloudsSpeed; // Velocidad a la que se desplazan las nubes
|
||||||
@@ -84,6 +85,15 @@ private:
|
|||||||
int alphaColorText; // Alpha para atenuar el fondo
|
int alphaColorText; // Alpha para atenuar el fondo
|
||||||
int alphaColorTextTemp; // Valor temporal para hacer la transición de alpha
|
int alphaColorTextTemp; // Valor temporal para hacer la transición de alpha
|
||||||
|
|
||||||
|
// Dibuja el gradiente de fondo
|
||||||
|
void renderGradient();
|
||||||
|
|
||||||
|
// Dibuja las nubes de arriba
|
||||||
|
void renderTopClouds();
|
||||||
|
|
||||||
|
// Dibuja las nubes de abajo
|
||||||
|
void renderBottomClouds();
|
||||||
|
|
||||||
// Compone todos los elementos del fondo en la textura
|
// Compone todos los elementos del fondo en la textura
|
||||||
void fillCanvas();
|
void fillCanvas();
|
||||||
|
|
||||||
@@ -91,11 +101,11 @@ private:
|
|||||||
void updateAlphaColorText();
|
void updateAlphaColorText();
|
||||||
|
|
||||||
// Actualiza las nubes
|
// Actualiza las nubes
|
||||||
void updateCLouds();
|
void updateClouds();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, param_t *param);
|
Background(SDL_Renderer *renderer, Asset *asset, param_t *param);
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
~Background();
|
~Background();
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ void Director::initInput()
|
|||||||
input->bindGameControllerButton(i, input_exit, SDL_CONTROLLER_BUTTON_BACK);
|
input->bindGameControllerButton(i, input_exit, SDL_CONTROLLER_BUTTON_BACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si ha de modificar las asignaciones por las que hay en las opciones en caso de coincidir el nombre del mando
|
// Mapea las asignaciones a los botones desde el archivo de configuración, si se da el caso
|
||||||
for (int i = 0; i < numGamePads; ++i)
|
for (int i = 0; i < numGamePads; ++i)
|
||||||
for (int index = 0; index < (int)options->controller.size(); ++index)
|
for (int index = 0; index < (int)options->controller.size(); ++index)
|
||||||
if (input->getControllerName(i) == options->controller[index].name)
|
if (input->getControllerName(i) == options->controller[index].name)
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ Game::Game(int playerID, int currentStage, Screen *screen, Asset *asset, Lang *l
|
|||||||
// Crea los objetos
|
// Crea los objetos
|
||||||
fade = new Fade(renderer, param);
|
fade = new Fade(renderer, param);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
scoreboard = new Scoreboard(renderer, screen, asset, lang, options);
|
scoreboard = new Scoreboard(renderer, asset, lang, options);
|
||||||
background = new Background(renderer, screen, asset, param);
|
background = new Background(renderer, asset, param);
|
||||||
explosions = new Explosions();
|
explosions = new Explosions();
|
||||||
enemyFormations = new EnemyFormations();
|
enemyFormations = new EnemyFormations();
|
||||||
|
|
||||||
@@ -2592,14 +2592,17 @@ void Game::checkEvents()
|
|||||||
{
|
{
|
||||||
switch (eventHandler->key.keysym.sym)
|
switch (eventHandler->key.keysym.sym)
|
||||||
{
|
{
|
||||||
|
// CREA UN SPRITE DE 1000 PUNTOS
|
||||||
case SDLK_h:
|
case SDLK_h:
|
||||||
createItemScoreSprite(param->gameWidth / 2, param->gameWidth / 2, n1000Sprite);
|
createItemScoreSprite(param->gameWidth / 2, param->gameWidth / 2, n1000Sprite);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// CREA UNA POWERBALL
|
||||||
case SDLK_1:
|
case SDLK_1:
|
||||||
createPowerBall();
|
createPowerBall();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// CREA DOS BALLON4
|
||||||
case SDLK_2:
|
case SDLK_2:
|
||||||
{
|
{
|
||||||
const int set = 0;
|
const int set = 0;
|
||||||
@@ -2617,6 +2620,7 @@ void Game::checkEvents()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
// ACTIVA EL MODO PARA PASAR EL JUEGO AUTOMATICAMENTE
|
||||||
case SDLK_3:
|
case SDLK_3:
|
||||||
autoPopBalloons = !autoPopBalloons;
|
autoPopBalloons = !autoPopBalloons;
|
||||||
screen->showNotification("autoPopBalloons " + boolToString(autoPopBalloons));
|
screen->showNotification("autoPopBalloons " + boolToString(autoPopBalloons));
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
|
|||||||
// Objetos
|
// Objetos
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
fade = new Fade(renderer, param);
|
fade = new Fade(renderer, param);
|
||||||
background = new Background(renderer, screen, asset, param);
|
background = new Background(renderer, asset, param);
|
||||||
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
text = new Text(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
|
||||||
|
|
||||||
// Crea un backbuffer para el renderizador
|
// Crea un backbuffer para el renderizador
|
||||||
|
|||||||
Reference in New Issue
Block a user