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
|
||||
void Resource::loadTextures(std::vector<std::string> list)
|
||||
{
|
||||
std::cout << "** LOAD TEXTURES" << std::endl;
|
||||
for (auto l : list)
|
||||
{
|
||||
texture_t t;
|
||||
@@ -20,13 +19,11 @@ void Resource::loadTextures(std::vector<std::string> list)
|
||||
t.texture = new Texture(renderer, asset->get(t.name));
|
||||
textures.push_back(t);
|
||||
}
|
||||
std::cout << "** TEXTURES LOADED" << std::endl;
|
||||
}
|
||||
|
||||
// Carga las animaciones desde una lista
|
||||
void Resource::loadAnimations(std::vector<std::string> list)
|
||||
{
|
||||
std::cout << "** LOAD ANIMATIONS" << std::endl;
|
||||
for (auto l : list)
|
||||
{
|
||||
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")));
|
||||
animations.push_back(as);
|
||||
}
|
||||
std::cout << "** ANIMATIONS LOADED" << std::endl;
|
||||
}
|
||||
|
||||
// Recarga las texturas
|
||||
|
||||
@@ -181,6 +181,8 @@ bool Director::saveConfig()
|
||||
// Carga los recursos
|
||||
void Director::loadResources(section_t section)
|
||||
{
|
||||
std::cout << "** LOAD RESOURCES" << std::endl;
|
||||
|
||||
if (section.name == SECTION_PROG_LOGO)
|
||||
{
|
||||
std::vector<std::string> textureList;
|
||||
@@ -339,6 +341,8 @@ void Director::loadResources(section_t section)
|
||||
|
||||
resource->loadAnimations(animationList);
|
||||
}
|
||||
|
||||
std::cout << "** RESOURCES LOADED" << std::endl;
|
||||
}
|
||||
|
||||
// Asigna variables a partir de dos cadenas
|
||||
|
||||
@@ -12,7 +12,8 @@ Enemy::Enemy(enemy_t enemy)
|
||||
|
||||
// Crea objetos
|
||||
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
|
||||
x1 = enemy.x1;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "game.h"
|
||||
#include <iostream>
|
||||
|
||||
// Constructor
|
||||
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();
|
||||
roomTracker = new RoomTracker();
|
||||
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();
|
||||
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
||||
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
|
||||
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();
|
||||
player->pause();
|
||||
|
||||
@@ -15,8 +15,8 @@ Player::Player(player_t ini, std::string png, std::string animation, SDL_Rendere
|
||||
this->options = options;
|
||||
|
||||
// Crea objetos
|
||||
texture = resource->getTexture(png);
|
||||
sprite = new AnimatedSprite(texture, renderer, animation);
|
||||
//texture = resource->getTexture(png);
|
||||
sprite = new AnimatedSprite(renderer, resource->getAnimation(animation));
|
||||
|
||||
// Inicializa variables
|
||||
color = stringToColor(options->palette, "white");
|
||||
@@ -688,7 +688,8 @@ player_t Player::getSpawnParams()
|
||||
// Recarga la textura
|
||||
void Player::reLoadTexture()
|
||||
{
|
||||
texture->reLoad();
|
||||
sprite->getTexture()->reLoad();
|
||||
//texture->reLoad();
|
||||
}
|
||||
|
||||
// Recarga la paleta
|
||||
|
||||
@@ -42,7 +42,7 @@ public:
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
||||
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
|
||||
Debug *debug; // Objeto para gestionar la información de debug
|
||||
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 '='
|
||||
int pos = line.find("=");
|
||||
|
||||
// Procesa las dos subcadenas
|
||||
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;
|
||||
|
||||
// Reserva memoria para los objetos
|
||||
playerTexture = resource->getTexture("player.png");
|
||||
//playerTexture = resource->getTexture("player.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");
|
||||
text = new Text("smb2.png", asset->get("smb2.txt"), resource, renderer);
|
||||
|
||||
@@ -117,7 +117,8 @@ ScoreBoard::clock_t ScoreBoard::getTime()
|
||||
// Recarga la textura
|
||||
void ScoreBoard::reLoadTexture()
|
||||
{
|
||||
playerTexture->reLoad();
|
||||
sprite->getTexture()->reLoad();
|
||||
//playerTexture->reLoad();
|
||||
itemTexture->reLoad();
|
||||
text->reLoadTexture();
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ private:
|
||||
};
|
||||
|
||||
// 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
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Resource *resource; // Objeto con los recursos
|
||||
|
||||
Reference in New Issue
Block a user