canviats els núvols per els del Volcano
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 935 B |
BIN
data/gfx/game_clouds1.png
Normal file
BIN
data/gfx/game_clouds1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
data/gfx/game_clouds2.png
Normal file
BIN
data/gfx/game_clouds2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
@@ -29,26 +29,31 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, par
|
|||||||
|
|
||||||
// Carga las texturas
|
// Carga las texturas
|
||||||
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
buildingsTexture = new Texture(renderer, asset->get("game_buildings.png"));
|
||||||
cloudsTexture = new Texture(renderer, asset->get("game_clouds.png"));
|
clouds1Texture = new Texture(renderer, asset->get("game_clouds1.png"));
|
||||||
|
clouds2Texture = new Texture(renderer, asset->get("game_clouds2.png"));
|
||||||
grassTexture = new Texture(renderer, asset->get("game_grass.png"));
|
grassTexture = new Texture(renderer, asset->get("game_grass.png"));
|
||||||
gradientsTexture = new Texture(renderer, asset->get("game_sky_colors.png"));
|
gradientsTexture = new Texture(renderer, asset->get("game_sky_colors.png"));
|
||||||
|
|
||||||
// Crea los sprites
|
// Crea los sprites
|
||||||
const int cloudsHeight = base - 196;
|
const int clouds1y = base - 165;
|
||||||
clouds1A = new MovingSprite(0, cloudsHeight, rect.w, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer);
|
const int clouds2y = base - 101;
|
||||||
clouds1B = new MovingSprite(rect.w, cloudsHeight, rect.w, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer);
|
const float clouds1speed = 0.1f;
|
||||||
clouds2A = new MovingSprite(0, cloudsHeight + 57, rect.w, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer);
|
const float clouds2speed = 0.05f;
|
||||||
clouds2B = new MovingSprite(rect.w, cloudsHeight + 57, rect.w, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer);
|
clouds1A = new MovingSprite(0, clouds1y, rect.w, clouds1Texture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, clouds1Texture, renderer);
|
||||||
|
clouds1B = new MovingSprite(rect.w, clouds1y, rect.w, clouds1Texture->getHeight(), -clouds1speed, 0.0f, 0.0f, 0.0f, clouds1Texture, renderer);
|
||||||
|
|
||||||
buildingsSprite = new Sprite(0, 0, rect.w, 135, buildingsTexture, renderer);
|
clouds2A = new MovingSprite(0, clouds2y, rect.w, clouds2Texture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, clouds2Texture, renderer);
|
||||||
|
clouds2B = new MovingSprite(rect.w, clouds2y, rect.w, clouds2Texture->getHeight(), -clouds2speed, 0.0f, 0.0f, 0.0f, clouds2Texture, renderer);
|
||||||
|
|
||||||
|
buildingsSprite = new Sprite(0, 0, buildingsTexture->getWidth(), buildingsTexture->getHeight(), buildingsTexture, renderer);
|
||||||
gradientSprite = new Sprite(0, 0, rect.w, rect.h, gradientsTexture, renderer);
|
gradientSprite = new Sprite(0, 0, rect.w, rect.h, gradientsTexture, renderer);
|
||||||
grassSprite = new Sprite(0, 0, 320, 10, grassTexture, renderer);
|
grassSprite = new Sprite(0, 0, grassTexture->getWidth(), grassTexture->getHeight() / 2, grassTexture, renderer);
|
||||||
|
|
||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
clouds1A->setSpriteClip(0, 0, cloudsTexture->getWidth(), 52);
|
clouds1A->setSpriteClip(0, 0, clouds1Texture->getWidth(), clouds1Texture->getHeight());
|
||||||
clouds1B->setSpriteClip(0, 0, cloudsTexture->getWidth(), 52);
|
clouds1B->setSpriteClip(0, 0, clouds1Texture->getWidth(), clouds1Texture->getHeight());
|
||||||
clouds2A->setSpriteClip(0, 52, cloudsTexture->getWidth(), 32);
|
clouds2A->setSpriteClip(0, 0, clouds2Texture->getWidth(), clouds2Texture->getHeight());
|
||||||
clouds2B->setSpriteClip(0, 52, cloudsTexture->getWidth(), 32);
|
clouds2B->setSpriteClip(0, 0, clouds2Texture->getWidth(), clouds2Texture->getHeight());
|
||||||
buildingsSprite->setPosY(base - buildingsSprite->getHeight());
|
buildingsSprite->setPosY(base - buildingsSprite->getHeight());
|
||||||
grassSprite->setPosY(base - grassSprite->getHeight());
|
grassSprite->setPosY(base - grassSprite->getHeight());
|
||||||
|
|
||||||
@@ -57,25 +62,19 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, par
|
|||||||
SDL_SetTextureBlendMode(canvas, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(canvas, SDL_BLENDMODE_BLEND);
|
||||||
|
|
||||||
// Crea la textura para atenuar el fondo
|
// Crea la textura para atenuar el fondo
|
||||||
colorText = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, rect.w, rect.h);
|
colorTexture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, rect.w, rect.h);
|
||||||
SDL_SetTextureBlendMode(colorText, SDL_BLENDMODE_BLEND);
|
SDL_SetTextureBlendMode(colorTexture, SDL_BLENDMODE_BLEND);
|
||||||
setColor(color);
|
setColor(color);
|
||||||
SDL_SetTextureAlphaMod(colorText, alphaColorText);
|
SDL_SetTextureAlphaMod(colorTexture, alphaColorText);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor
|
// Destructor
|
||||||
Background::~Background()
|
Background::~Background()
|
||||||
{
|
{
|
||||||
buildingsTexture->unload();
|
|
||||||
delete buildingsTexture;
|
delete buildingsTexture;
|
||||||
|
delete clouds1Texture;
|
||||||
cloudsTexture->unload();
|
delete clouds2Texture;
|
||||||
delete cloudsTexture;
|
|
||||||
|
|
||||||
grassTexture->unload();
|
|
||||||
delete grassTexture;
|
delete grassTexture;
|
||||||
|
|
||||||
gradientsTexture->unload();
|
|
||||||
delete gradientsTexture;
|
delete gradientsTexture;
|
||||||
|
|
||||||
delete clouds1A;
|
delete clouds1A;
|
||||||
@@ -86,7 +85,7 @@ Background::~Background()
|
|||||||
delete gradientSprite;
|
delete gradientSprite;
|
||||||
delete grassSprite;
|
delete grassSprite;
|
||||||
SDL_DestroyTexture(canvas);
|
SDL_DestroyTexture(canvas);
|
||||||
SDL_DestroyTexture(colorText);
|
SDL_DestroyTexture(colorTexture);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actualiza la lógica del objeto
|
// Actualiza la lógica del objeto
|
||||||
@@ -150,14 +149,15 @@ void Background::render()
|
|||||||
SDL_RenderCopy(renderer, canvas, &srcRect, &dstRect);
|
SDL_RenderCopy(renderer, canvas, &srcRect, &dstRect);
|
||||||
|
|
||||||
// Atenuación
|
// Atenuación
|
||||||
SDL_RenderCopy(renderer, colorText, &srcRect, &dstRect);
|
SDL_RenderCopy(renderer, colorTexture, &srcRect, &dstRect);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vuelve a cargar las texturas
|
// Vuelve a cargar las texturas
|
||||||
void Background::reloadTextures()
|
void Background::reloadTextures()
|
||||||
{
|
{
|
||||||
buildingsTexture->reLoad();
|
buildingsTexture->reLoad();
|
||||||
cloudsTexture->reLoad();
|
clouds1Texture->reLoad();
|
||||||
|
clouds2Texture->reLoad();
|
||||||
grassTexture->reLoad();
|
grassTexture->reLoad();
|
||||||
gradientsTexture->reLoad();
|
gradientsTexture->reLoad();
|
||||||
}
|
}
|
||||||
@@ -209,7 +209,7 @@ void Background::setColor(color_t color)
|
|||||||
|
|
||||||
// Colorea la textura
|
// Colorea la textura
|
||||||
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
SDL_Texture *temp = SDL_GetRenderTarget(renderer);
|
||||||
SDL_SetRenderTarget(renderer, colorText);
|
SDL_SetRenderTarget(renderer, colorTexture);
|
||||||
|
|
||||||
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, 255);
|
SDL_SetRenderDrawColor(renderer, color.r, color.g, color.b, 255);
|
||||||
SDL_RenderClear(renderer);
|
SDL_RenderClear(renderer);
|
||||||
@@ -237,7 +237,7 @@ void Background::updateAlphaColorText()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
alphaColorText > alphaColorTextTemp ? alphaColorTextTemp++ : alphaColorTextTemp--;
|
alphaColorText > alphaColorTextTemp ? alphaColorTextTemp++ : alphaColorTextTemp--;
|
||||||
SDL_SetTextureAlphaMod(colorText, alphaColorTextTemp);
|
SDL_SetTextureAlphaMod(colorTexture, alphaColorTextTemp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ private:
|
|||||||
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 *cloudsTexture; // Textura con las nubes de fondo
|
Texture *clouds1Texture; // Textura con las nubes de fondo
|
||||||
|
Texture *clouds2Texture; // 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
|
||||||
|
|
||||||
@@ -28,8 +29,8 @@ private:
|
|||||||
Sprite *gradientSprite; // Sprite con los graficos del degradado de color de fondo
|
Sprite *gradientSprite; // Sprite con los graficos del degradado de color de fondo
|
||||||
Sprite *grassSprite; // Sprite para la hierba
|
Sprite *grassSprite; // Sprite para la hierba
|
||||||
|
|
||||||
SDL_Texture *canvas; // Textura para componer el fondo
|
SDL_Texture *canvas; // Textura para componer el fondo
|
||||||
SDL_Texture *colorText; // Textura para atenuar el fondo
|
SDL_Texture *colorTexture; // Textura para atenuar el fondo
|
||||||
|
|
||||||
param_t *param; // Puntero con todos los parametros del programa
|
param_t *param; // Puntero con todos los parametros del programa
|
||||||
|
|
||||||
|
|||||||
@@ -331,7 +331,8 @@ bool Director::setFileList()
|
|||||||
asset->add(prefix + "/data/gfx/bullet.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/bullet.png", t_bitmap);
|
||||||
|
|
||||||
asset->add(prefix + "/data/gfx/game_buildings.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/game_buildings.png", t_bitmap);
|
||||||
asset->add(prefix + "/data/gfx/game_clouds.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/game_clouds1.png", t_bitmap);
|
||||||
|
asset->add(prefix + "/data/gfx/game_clouds2.png", t_bitmap);
|
||||||
asset->add(prefix + "/data/gfx/game_grass.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/game_grass.png", t_bitmap);
|
||||||
asset->add(prefix + "/data/gfx/game_power_meter.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/game_power_meter.png", t_bitmap);
|
||||||
asset->add(prefix + "/data/gfx/game_sky_colors.png", t_bitmap);
|
asset->add(prefix + "/data/gfx/game_sky_colors.png", t_bitmap);
|
||||||
|
|||||||
@@ -2697,10 +2697,12 @@ void Game::updateBackground()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Calcula la velocidad en función de los globos explotados y el total de globos a explotar para acabar el juego
|
// Calcula la velocidad en función de los globos explotados y el total de globos a explotar para acabar el juego
|
||||||
const float speed = (-0.2f) + (-3.00f * ((float)balloonsPopped / (float)totalPowerToCompleteGame));
|
const float cloudsInitialSpeed = 0.05f;
|
||||||
|
const float cloudsFinalSpeed = 2.00f - cloudsInitialSpeed;
|
||||||
|
const float cloudsSpeed = (-cloudsInitialSpeed) + (-cloudsFinalSpeed * ((float)balloonsPopped / (float)totalPowerToCompleteGame));
|
||||||
|
background->setCloudsSpeed(cloudsSpeed);
|
||||||
|
|
||||||
// Aplica la velocidad calculada para las nubes
|
// Calcula la transición de los diferentes fondos
|
||||||
background->setCloudsSpeed(speed);
|
|
||||||
const float gradientNumber = std::min(((float)balloonsPopped / 1250.0f), 3.0f);
|
const float gradientNumber = std::min(((float)balloonsPopped / 1250.0f), 3.0f);
|
||||||
const float percent = gradientNumber - (int)gradientNumber;
|
const float percent = gradientNumber - (int)gradientNumber;
|
||||||
background->setGradientNumber((int)gradientNumber);
|
background->setGradientNumber((int)gradientNumber);
|
||||||
@@ -2710,7 +2712,7 @@ void Game::updateBackground()
|
|||||||
background->update();
|
background->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dibuja la linea que separa la zona ade juego del marcador
|
// Dibuja la linea que separa la zona de juego del marcador
|
||||||
void Game::renderSeparator()
|
void Game::renderSeparator()
|
||||||
{
|
{
|
||||||
// Dibuja la linea que separa el marcador de la zona de juego
|
// Dibuja la linea que separa el marcador de la zona de juego
|
||||||
|
|||||||
@@ -52,10 +52,11 @@ void GameLogo::init()
|
|||||||
{
|
{
|
||||||
const int xp = x - coffeeBitmap->getWidth() / 2;
|
const int xp = x - coffeeBitmap->getWidth() / 2;
|
||||||
const int desp = getInitialVerticalDesp();
|
const int desp = getInitialVerticalDesp();
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
status = disabled;
|
status = disabled;
|
||||||
shake.desp = 1;
|
shake.desp = 1;
|
||||||
shake.delay = 3;
|
shake.delay = 2;
|
||||||
shake.lenght = 8;
|
shake.lenght = 8;
|
||||||
shake.remaining = shake.lenght;
|
shake.remaining = shake.lenght;
|
||||||
shake.counter = shake.delay;
|
shake.counter = shake.delay;
|
||||||
@@ -138,7 +139,7 @@ void GameLogo::update()
|
|||||||
status = shaking;
|
status = shaking;
|
||||||
|
|
||||||
// Pantallazo blanco
|
// Pantallazo blanco
|
||||||
screen->flash(flashColor, 5);
|
//screen->flash(flashColor, 10);
|
||||||
|
|
||||||
// Reproduce el efecto sonoro
|
// Reproduce el efecto sonoro
|
||||||
JA_PlaySound(crashSound);
|
JA_PlaySound(crashSound);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset,
|
|||||||
// Inicializa objetos
|
// Inicializa objetos
|
||||||
background->setSrcDest(windowArea);
|
background->setSrcDest(windowArea);
|
||||||
background->setDstDest(windowArea);
|
background->setDstDest(windowArea);
|
||||||
background->setCloudsSpeed(-0.5f);
|
background->setCloudsSpeed(-0.1f);
|
||||||
background->setGradientNumber(1);
|
background->setGradientNumber(1);
|
||||||
background->setTransition(0.8f);
|
background->setTransition(0.8f);
|
||||||
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
|
||||||
|
|||||||
@@ -26,13 +26,6 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Input *input, Asset *asset,
|
|||||||
miniLogoTexture = new Texture(renderer, asset->get("logo_jailgames_mini.png"));
|
miniLogoTexture = new Texture(renderer, asset->get("logo_jailgames_mini.png"));
|
||||||
miniLogoSprite = new Sprite(GAMECANVAS_CENTER_X - miniLogoTexture->getWidth() / 2, 0, miniLogoTexture->getWidth(), miniLogoTexture->getHeight(), miniLogoTexture, renderer);
|
miniLogoSprite = new Sprite(GAMECANVAS_CENTER_X - miniLogoTexture->getWidth() / 2, 0, miniLogoTexture->getWidth(), miniLogoTexture->getHeight(), miniLogoTexture, renderer);
|
||||||
|
|
||||||
background = new Background(renderer, screen, asset, param);
|
|
||||||
background->setSrcDest(windowArea);
|
|
||||||
background->setDstDest(windowArea);
|
|
||||||
background->setCloudsSpeed(-0.5f);
|
|
||||||
background->setGradientNumber(1);
|
|
||||||
background->setTransition(0.8f);
|
|
||||||
|
|
||||||
tiledbg = new Tiledbg(renderer, screen, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_RANDOM);
|
tiledbg = new Tiledbg(renderer, screen, asset, {0, 0, param->gameWidth, param->gameHeight}, TILED_MODE_RANDOM);
|
||||||
|
|
||||||
gameLogo = new GameLogo(renderer, screen, asset, param, GAMECANVAS_CENTER_X, param->titleCC);
|
gameLogo = new GameLogo(renderer, screen, asset, param, GAMECANVAS_CENTER_X, param->titleCC);
|
||||||
@@ -54,11 +47,9 @@ Title::~Title()
|
|||||||
delete text1;
|
delete text1;
|
||||||
delete text2;
|
delete text2;
|
||||||
|
|
||||||
miniLogoTexture->unload();
|
|
||||||
delete miniLogoTexture;
|
delete miniLogoTexture;
|
||||||
delete miniLogoSprite;
|
delete miniLogoSprite;
|
||||||
|
|
||||||
delete background;
|
|
||||||
delete tiledbg;
|
delete tiledbg;
|
||||||
delete gameLogo;
|
delete gameLogo;
|
||||||
delete defineButtons;
|
delete defineButtons;
|
||||||
@@ -90,9 +81,6 @@ void Title::update()
|
|||||||
// Actualiza el contador de ticks
|
// Actualiza el contador de ticks
|
||||||
ticks = SDL_GetTicks();
|
ticks = SDL_GetTicks();
|
||||||
|
|
||||||
// Actualiza el objeto 'background'
|
|
||||||
background->update();
|
|
||||||
|
|
||||||
// Actualiza el objeto 'defineButtons'
|
// Actualiza el objeto 'defineButtons'
|
||||||
defineButtons->update();
|
defineButtons->update();
|
||||||
|
|
||||||
@@ -174,7 +162,6 @@ void Title::render()
|
|||||||
|
|
||||||
// Dibuja el mosacico de fondo
|
// Dibuja el mosacico de fondo
|
||||||
tiledbg->render();
|
tiledbg->render();
|
||||||
// background->render();
|
|
||||||
|
|
||||||
// Dibuja el logo con el título del juego
|
// Dibuja el logo con el título del juego
|
||||||
gameLogo->render();
|
gameLogo->render();
|
||||||
@@ -198,6 +185,7 @@ void Title::render()
|
|||||||
text1->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, pos2, TEXT_COPYRIGHT, 1, noColor, 1, shadow);
|
text1->writeDX(TXT_CENTER | TXT_SHADOW, GAMECANVAS_CENTER_X, pos2, TEXT_COPYRIGHT, 1, noColor, 1, shadow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Define Buttons
|
||||||
defineButtons->render();
|
defineButtons->render();
|
||||||
|
|
||||||
// Fade
|
// Fade
|
||||||
@@ -253,12 +241,15 @@ void Title::checkInput()
|
|||||||
const int index = input->checkAnyButtonPressed();
|
const int index = input->checkAnyButtonPressed();
|
||||||
if (index)
|
if (index)
|
||||||
{
|
{
|
||||||
fade->activate();
|
if (section->subsection == SUBSECTION_TITLE_2)
|
||||||
postFade = index;
|
{// No se puede empezar a jugar durante la animación del titulo
|
||||||
|
fade->activate();
|
||||||
|
postFade = index;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba el teclado para salir
|
// Comprueba el teclado para salir
|
||||||
if (input->checkInput(input_exit, DO_NOT_ALLOW_REPEAT, INPUT_USE_KEYBOARD))
|
if (input->checkInput(input_exit, DO_NOT_ALLOW_REPEAT, INPUT_USE_KEYBOARD))
|
||||||
{
|
{
|
||||||
section->name = SECTION_PROG_QUIT;
|
section->name = SECTION_PROG_QUIT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
#include "instructions.h"
|
#include "instructions.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "background.h"
|
|
||||||
#include "tiledbg.h"
|
#include "tiledbg.h"
|
||||||
#include "game_logo.h"
|
#include "game_logo.h"
|
||||||
#include "define_buttons.h"
|
#include "define_buttons.h"
|
||||||
@@ -37,7 +36,6 @@ private:
|
|||||||
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
Lang *lang; // Objeto para gestionar los textos en diferentes idiomas
|
||||||
SDL_Event *eventHandler; // Manejador de eventos
|
SDL_Event *eventHandler; // Manejador de eventos
|
||||||
section_t *section; // Indicador para el bucle del titulo
|
section_t *section; // Indicador para el bucle del titulo
|
||||||
Background *background; // Objeto para dibujar el fondo del juego
|
|
||||||
Tiledbg *tiledbg; // Objeto para dibujar el mosaico animado de fondo
|
Tiledbg *tiledbg; // Objeto para dibujar el mosaico animado de fondo
|
||||||
GameLogo *gameLogo; // Objeto para dibujar el logo con el título del juego
|
GameLogo *gameLogo; // Objeto para dibujar el logo con el título del juego
|
||||||
Texture *miniLogoTexture; // Textura con el logo de JailGames mini
|
Texture *miniLogoTexture; // Textura con el logo de JailGames mini
|
||||||
|
|||||||
Reference in New Issue
Block a user