forked from jaildesigner-jailgames/jaildoctors_dilemma
Animaciones precacheadas
This commit is contained in:
@@ -12,7 +12,6 @@ Resource::Resource(SDL_Renderer *renderer, Asset *asset, options_t *options)
|
|||||||
// Carga las texturas de una lista
|
// Carga las texturas de una lista
|
||||||
void Resource::loadTextures(std::vector<std::string> list)
|
void Resource::loadTextures(std::vector<std::string> list)
|
||||||
{
|
{
|
||||||
std::cout << "** LOAD TEXTURES" << std::endl;
|
|
||||||
for (auto l : list)
|
for (auto l : list)
|
||||||
{
|
{
|
||||||
texture_t t;
|
texture_t t;
|
||||||
@@ -20,13 +19,11 @@ void Resource::loadTextures(std::vector<std::string> list)
|
|||||||
t.texture = new Texture(renderer, asset->get(t.name));
|
t.texture = new Texture(renderer, asset->get(t.name));
|
||||||
textures.push_back(t);
|
textures.push_back(t);
|
||||||
}
|
}
|
||||||
std::cout << "** TEXTURES LOADED" << std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Carga las animaciones desde una lista
|
// Carga las animaciones desde una lista
|
||||||
void Resource::loadAnimations(std::vector<std::string> list)
|
void Resource::loadAnimations(std::vector<std::string> list)
|
||||||
{
|
{
|
||||||
std::cout << "** LOAD ANIMATIONS" << std::endl;
|
|
||||||
for (auto l : list)
|
for (auto l : list)
|
||||||
{
|
{
|
||||||
animation_t as;
|
animation_t as;
|
||||||
@@ -34,7 +31,6 @@ void Resource::loadAnimations(std::vector<std::string> list)
|
|||||||
as.animation = new animatedSprite_t(loadAnimationFromFile(getTexture(l+".png"), asset->get(l+".ani")));
|
as.animation = new animatedSprite_t(loadAnimationFromFile(getTexture(l+".png"), asset->get(l+".ani")));
|
||||||
animations.push_back(as);
|
animations.push_back(as);
|
||||||
}
|
}
|
||||||
std::cout << "** ANIMATIONS LOADED" << std::endl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recarga las texturas
|
// Recarga las texturas
|
||||||
|
|||||||
@@ -181,6 +181,8 @@ bool Director::saveConfig()
|
|||||||
// Carga los recursos
|
// Carga los recursos
|
||||||
void Director::loadResources(section_t section)
|
void Director::loadResources(section_t section)
|
||||||
{
|
{
|
||||||
|
std::cout << "** LOAD RESOURCES" << std::endl;
|
||||||
|
|
||||||
if (section.name == SECTION_PROG_LOGO)
|
if (section.name == SECTION_PROG_LOGO)
|
||||||
{
|
{
|
||||||
std::vector<std::string> textureList;
|
std::vector<std::string> textureList;
|
||||||
@@ -339,6 +341,8 @@ void Director::loadResources(section_t section)
|
|||||||
|
|
||||||
resource->loadAnimations(animationList);
|
resource->loadAnimations(animationList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::cout << "** RESOURCES LOADED" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Asigna variables a partir de dos cadenas
|
// Asigna variables a partir de dos cadenas
|
||||||
|
|||||||
@@ -12,7 +12,8 @@ Enemy::Enemy(enemy_t enemy)
|
|||||||
|
|
||||||
// Crea objetos
|
// Crea objetos
|
||||||
texture = resource->getTexture(enemy.tileset);
|
texture = resource->getTexture(enemy.tileset);
|
||||||
sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
|
//sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
|
||||||
|
sprite = new AnimatedSprite(renderer, resource->getAnimation(enemy.animation));
|
||||||
|
|
||||||
// Obten el resto de valores
|
// Obten el resto de valores
|
||||||
x1 = enemy.x1;
|
x1 = enemy.x1;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "game.h"
|
#include "game.h"
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
// Constructor
|
// Constructor
|
||||||
Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Input *input, Debug *debug)
|
Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, options_t *options, Input *input, Debug *debug)
|
||||||
@@ -30,7 +31,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *as
|
|||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
roomTracker = new RoomTracker();
|
roomTracker = new RoomTracker();
|
||||||
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
player = new Player(spawnPoint, "player.png", asset->get("player.ani"), renderer, resource, asset, options, input, room, debug);
|
player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
||||||
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
music = JA_LoadMusic(asset->get("game.ogg").c_str());
|
||||||
@@ -391,7 +392,7 @@ void Game::killPlayer()
|
|||||||
|
|
||||||
// Crea la nueva habitación y el nuevo jugador
|
// Crea la nueva habitación y el nuevo jugador
|
||||||
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
room = new Room(asset->get(currentRoom), renderer, screen, resource, asset, options, itemTracker, &board.items, debug);
|
||||||
player = new Player(spawnPoint, "player.png", asset->get("player.ani"), renderer, resource, asset, options, input, room, debug);
|
player = new Player(spawnPoint, "player.png", "player.ani", renderer, resource, asset, options, input, room, debug);
|
||||||
|
|
||||||
room->pause();
|
room->pause();
|
||||||
player->pause();
|
player->pause();
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ Player::Player(player_t ini, std::string png, std::string animation, SDL_Rendere
|
|||||||
this->options = options;
|
this->options = options;
|
||||||
|
|
||||||
// Crea objetos
|
// Crea objetos
|
||||||
texture = resource->getTexture(png);
|
//texture = resource->getTexture(png);
|
||||||
sprite = new AnimatedSprite(texture, renderer, animation);
|
sprite = new AnimatedSprite(renderer, resource->getAnimation(animation));
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
color = stringToColor(options->palette, "white");
|
color = stringToColor(options->palette, "white");
|
||||||
@@ -688,7 +688,8 @@ player_t Player::getSpawnParams()
|
|||||||
// Recarga la textura
|
// Recarga la textura
|
||||||
void Player::reLoadTexture()
|
void Player::reLoadTexture()
|
||||||
{
|
{
|
||||||
texture->reLoad();
|
sprite->getTexture()->reLoad();
|
||||||
|
//texture->reLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recarga la paleta
|
// Recarga la paleta
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public:
|
|||||||
Resource *resource; // Objeto con los recursos
|
Resource *resource; // Objeto con los recursos
|
||||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||||
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
Room *room; // Objeto encargado de gestionar cada habitación del juego
|
||||||
Texture *texture; // Textura con los graficos del enemigo
|
//Texture *texture; // Textura con los graficos del enemigo
|
||||||
AnimatedSprite *sprite; // Sprite del enemigo
|
AnimatedSprite *sprite; // Sprite del enemigo
|
||||||
Debug *debug; // Objeto para gestionar la información de debug
|
Debug *debug; // Objeto para gestionar la información de debug
|
||||||
options_t *options; // Puntero a las opciones del juego
|
options_t *options; // Puntero a las opciones del juego
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ bool Room::loadMapFile(std::string file_path)
|
|||||||
|
|
||||||
// Encuentra la posición del caracter '='
|
// Encuentra la posición del caracter '='
|
||||||
int pos = line.find("=");
|
int pos = line.find("=");
|
||||||
|
|
||||||
// Procesa las dos subcadenas
|
// Procesa las dos subcadenas
|
||||||
if (!setEnemy(&enemy, line.substr(0, pos), line.substr(pos + 1, line.length())))
|
if (!setEnemy(&enemy, line.substr(0, pos), line.substr(pos + 1, line.length())))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ ScoreBoard::ScoreBoard(SDL_Renderer *renderer, Resource *resource, Asset *asset,
|
|||||||
this->options = options;
|
this->options = options;
|
||||||
|
|
||||||
// Reserva memoria para los objetos
|
// Reserva memoria para los objetos
|
||||||
playerTexture = resource->getTexture("player.png");
|
//playerTexture = resource->getTexture("player.png");
|
||||||
itemTexture = resource->getTexture("items.png");
|
itemTexture = resource->getTexture("items.png");
|
||||||
sprite = new AnimatedSprite(playerTexture, renderer, asset->get("player.ani"));
|
sprite = new AnimatedSprite(renderer, resource->getAnimation("player.ani"));
|
||||||
sprite->setCurrentAnimation("walk_menu");
|
sprite->setCurrentAnimation("walk_menu");
|
||||||
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
||||||
|
|
||||||
@@ -117,7 +117,8 @@ ScoreBoard::clock_t ScoreBoard::getTime()
|
|||||||
// Recarga la textura
|
// Recarga la textura
|
||||||
void ScoreBoard::reLoadTexture()
|
void ScoreBoard::reLoadTexture()
|
||||||
{
|
{
|
||||||
playerTexture->reLoad();
|
sprite->getTexture()->reLoad();
|
||||||
|
//playerTexture->reLoad();
|
||||||
itemTexture->reLoad();
|
itemTexture->reLoad();
|
||||||
text->reLoadTexture();
|
text->reLoadTexture();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Objetos y punteros
|
// Objetos y punteros
|
||||||
Texture *playerTexture; // Textura con los graficos para las vidas
|
//Texture *playerTexture; // Textura con los graficos para las vidas
|
||||||
AnimatedSprite *sprite; // Sprite para mostrar las vidas en el marcador
|
AnimatedSprite *sprite; // Sprite para mostrar las vidas en el marcador
|
||||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||||
Resource *resource; // Objeto con los recursos
|
Resource *resource; // Objeto con los recursos
|
||||||
|
|||||||
Reference in New Issue
Block a user