Modificadas las llamadas para crear texturas

This commit is contained in:
2022-09-01 19:49:03 +02:00
parent 8f2e04b120
commit 4e219c47f6
7 changed files with 7 additions and 43 deletions

View File

@@ -10,8 +10,7 @@ Enemy::Enemy(enemy_t enemy)
renderer = enemy.renderer; renderer = enemy.renderer;
// Crea objetos // Crea objetos
texture = new LTexture(); texture = new LTexture(renderer, asset->get(enemy.tileset));
texture->loadFromFile(asset->get(enemy.tileset), renderer);
sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation)); sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
// Obten el resto de valores // Obten el resto de valores
@@ -33,12 +32,8 @@ Enemy::Enemy(enemy_t enemy)
// Destructor // Destructor
Enemy::~Enemy() Enemy::~Enemy()
{ {
texture->unload();
delete texture; delete texture;
texture = nullptr;
delete sprite; delete sprite;
sprite = nullptr;
} }
// Pinta el enemigo en pantalla // Pinta el enemigo en pantalla

View File

@@ -10,8 +10,7 @@ Item::Item(item_t item)
renderer = item.renderer; renderer = item.renderer;
// Crea objetos // Crea objetos
texture = new LTexture(); texture = new LTexture(renderer,asset->get(item.tileset));
texture->loadFromFile(asset->get(item.tileset), renderer);
sprite = new Sprite(item.x, item.y, 8, 8, texture, renderer); sprite = new Sprite(item.x, item.y, 8, 8, texture, renderer);
// Inicia variables // Inicia variables
@@ -43,12 +42,8 @@ Item::Item(item_t item)
// Destructor // Destructor
Item::~Item() Item::~Item()
{ {
texture->unload();
delete texture; delete texture;
texture = nullptr;
delete sprite; delete sprite;
sprite = nullptr;
} }
// Pinta el objeto en pantalla // Pinta el objeto en pantalla

View File

@@ -182,5 +182,5 @@ int LTexture::getHeight()
// Recarga la textura // Recarga la textura
bool LTexture::reLoad() bool LTexture::reLoad()
{ {
loadFromFile(path, renderer); return loadFromFile(path, renderer);
} }

View File

@@ -13,8 +13,7 @@ Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Ren
this->input = input; this->input = input;
// Crea objetos // Crea objetos
texture = new LTexture(); texture = new LTexture(renderer, asset->get(tileset));
texture->loadFromFile(asset->get(tileset), renderer);
sprite = new AnimatedSprite(texture, renderer, animation); sprite = new AnimatedSprite(texture, renderer, animation);
// Inicializa variables // Inicializa variables
@@ -41,12 +40,8 @@ Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Ren
// Destructor // Destructor
Player::~Player() Player::~Player()
{ {
texture->unload();
delete texture; delete texture;
texture = nullptr;
delete sprite; delete sprite;
sprite = nullptr;
} }
// Pinta el jugador en pantalla // Pinta el jugador en pantalla

View File

@@ -13,9 +13,8 @@ Room::Room(std::string file_path, SDL_Renderer *renderer, Asset *asset, ItemTrac
this->itemsPicked = items; this->itemsPicked = items;
// Crea los objetos // Crea los objetos
texture = new LTexture();
load(file_path); load(file_path);
texture->loadFromFile(asset->get(tileset), renderer); texture = new LTexture(renderer,asset->get(tileset));
itemSound = JA_LoadSound(asset->get("item.wav").c_str()); itemSound = JA_LoadSound(asset->get("item.wav").c_str());
// Crea la textura para el mapa de tiles de la habitación // Crea la textura para el mapa de tiles de la habitación
@@ -31,26 +30,19 @@ Room::Room(std::string file_path, SDL_Renderer *renderer, Asset *asset, ItemTrac
Room::~Room() Room::~Room()
{ {
// Reclama la memoria utilizada por los objetos // Reclama la memoria utilizada por los objetos
texture->unload();
delete texture; delete texture;
texture = nullptr;
JA_DeleteSound(itemSound); JA_DeleteSound(itemSound);
SDL_DestroyTexture(mapTexture); SDL_DestroyTexture(mapTexture);
mapTexture = nullptr;
for (auto enemy : enemies) for (auto enemy : enemies)
{ {
delete enemy; delete enemy;
} }
enemies.clear();
for (auto item : items) for (auto item : items)
{ {
delete item; delete item;
} }
items.clear();
} }
// Carga las variables desde un fichero // Carga las variables desde un fichero

View File

@@ -13,8 +13,7 @@ ScoreBoard::ScoreBoard(SDL_Renderer *renderer, Asset *asset, int *lives, int *it
this->clock = clock; this->clock = clock;
// Reserva memoria para los objetos // Reserva memoria para los objetos
texture = new LTexture(); texture = new LTexture(renderer,asset->get("player01.png"));
texture->loadFromFile(asset->get("player01.png"), renderer);
sprite = new AnimatedSprite(texture, renderer, asset->get("player01.ani")); sprite = new AnimatedSprite(texture, renderer, asset->get("player01.ani"));
sprite->setCurrentAnimation("walk_menu"); sprite->setCurrentAnimation("walk_menu");
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
@@ -70,15 +69,9 @@ ScoreBoard::ScoreBoard(SDL_Renderer *renderer, Asset *asset, int *lives, int *it
// Destructor // Destructor
ScoreBoard::~ScoreBoard() ScoreBoard::~ScoreBoard()
{ {
texture->unload();
delete texture; delete texture;
texture = nullptr;
delete sprite; delete sprite;
sprite = nullptr;
delete text; delete text;
text = nullptr;
} }
// Pinta el objeto en pantalla // Pinta el objeto en pantalla

View File

@@ -6,9 +6,7 @@
// Constructor // Constructor
Text::Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer) Text::Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer)
{ {
texture = new LTexture(); texture = new LTexture(renderer, bitmapFile);
texture->loadFromFile(bitmapFile, renderer);
sprite = new Sprite({0, 0, 0, 0}, texture, renderer); sprite = new Sprite({0, 0, 0, 0}, texture, renderer);
sprite->setTexture(texture); sprite->setTexture(texture);
sprite->setRenderer(renderer); sprite->setRenderer(renderer);
@@ -20,12 +18,8 @@ Text::Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer)
// Destructor // Destructor
Text::~Text() Text::~Text()
{ {
texture->unload();
delete texture; delete texture;
texture = nullptr;
delete sprite; delete sprite;
sprite = nullptr;
} }
// Inicializador // Inicializador