Trabajando con las rampas

This commit is contained in:
2022-09-06 14:03:12 +02:00
parent 189b933622
commit 066a9ab811
3 changed files with 15 additions and 6 deletions

View File

@@ -22,7 +22,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, D
scoreboard = new ScoreBoard(renderer, asset, &playerLives, &itemsPicked, &clock);
itemTracker = new ItemTracker();
room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked);
player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room);
player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room, debug);
eventHandler = new SDL_Event();
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
debugText = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
@@ -221,7 +221,7 @@ void Game::renderDebugInfo()
}
// Borra el marcador
const SDL_Rect rect = {0, 17 * BLOCK, PLAY_AREA_WIDTH, GAMECANVAS_HEIGHT - PLAY_AREA_HEIGHT};
SDL_Rect rect = {0, 17 * BLOCK, PLAY_AREA_WIDTH, GAMECANVAS_HEIGHT - PLAY_AREA_HEIGHT};
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderFillRect(renderer, &rect);
@@ -236,8 +236,13 @@ void Game::renderDebugInfo()
SDL_RenderDrawLine(renderer, i, 0, i, PLAY_AREA_BOTTOM - 1);
}
// Pinta mascaras de sprite
SDL_SetRenderDrawColor(renderer, 0, 255, 0, 192);
rect = player->getRect();
SDL_RenderFillRect(renderer, &rect);
// Pinta el texto
debug->setPos({1, 152});
debug->setPos({1, 17 * 8});
debug->render();
}
@@ -327,7 +332,7 @@ void Game::killPlayer()
// Crea la nueva habitación y el nuevo jugador
room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked);
player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room);
player = new Player(spawnPoint, asset->get("player01.png"), asset->get("player01.ani"), renderer, asset, input, room, debug);
}
// Recarga todas las texturas

View File

@@ -3,13 +3,14 @@
#include <sstream>
// Constructor
Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room)
Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room, Debug *debug)
{
// Obten punteros a objetos
this->asset = asset;
this->renderer = renderer;
this->input = input;
this->room = room;
this->debug = debug;
// Crea objetos
texture = new LTexture(renderer, asset->get(tileset));
@@ -241,6 +242,7 @@ void Player::move()
else
{
tile_e slope = checkSlopes();
debug->add("SLOPE = " + std::to_string(slope));
if (slope != t_empty)
{ // Cuesta hacia la derecha
if (slope == t_slope_r)

View File

@@ -7,6 +7,7 @@
#include "animatedsprite.h"
#include "input.h"
#include "const.h"
#include "debug.h"
#include <string>
#include <vector>
@@ -47,6 +48,7 @@ public:
Room *room; // Objeto encargado de gestionar cada habitación del juego
LTexture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo
Debug *debug; // Objeto para gestionar la información de debug
color_t color; // Color del jugador
SDL_Rect colliderBox; // Caja de colisión con los enemigos u objetos
std::vector<SDL_Point> colliderPoints; // Puntos de colisión con el mapa
@@ -101,7 +103,7 @@ public:
public:
// Constructor
Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room);
Player(player_t ini, std::string tileset, std::string animation, SDL_Renderer *renderer, Asset *asset, Input *input, Room *room, Debug *debug);
// Destructor
~Player();