Progresos con las rampas

This commit is contained in:
2022-09-06 20:37:39 +02:00
parent 066a9ab811
commit 9af135100c
7 changed files with 89 additions and 38 deletions

View File

@@ -4,7 +4,7 @@
#include <sstream>
// Constructor
Room::Room(std::string file_path, SDL_Renderer *renderer, Screen *screen, Asset *asset, ItemTracker *itemTracker, int *items)
Room::Room(std::string file_path, SDL_Renderer *renderer, Screen *screen, Asset *asset, ItemTracker *itemTracker, int *items, Debug *debug)
{
// Copia los punteros a objetos
this->renderer = renderer;
@@ -12,6 +12,7 @@ Room::Room(std::string file_path, SDL_Renderer *renderer, Screen *screen, Asset
this->screen = screen;
this->itemTracker = itemTracker;
this->itemsPicked = items;
this->debug = debug;
// Crea los objetos
load(file_path);
@@ -602,21 +603,25 @@ int Room::getSlopeHeight(SDL_Point p, tile_e slope)
// Calcula la base del tile
int base = ((p.y / tileSize) * tileSize) + tileSize;
printf("base %i\n", base);
debug->add("BASE = " + std::to_string(base));
// Calcula cuanto se ha entrado en el tile horizontalmente
const int pos = (p.x % tileSize); // esto da un valor entre 0 y 7
printf("pos %i\n", base);
debug->add("POS = " + std::to_string(pos));
// Se resta a la base la cantidad de pixeles pos en funcion de la rampa
if (slope == t_slope_r)
{
base -= pos+1;
base -= pos + 1;
printf("base_R %i\n", base);
debug->add("BASE_R = " + std::to_string(base));
}
else
{
base -= (tileSize - pos);
printf("base_L %i\n", base);
debug->add("BASE_L = " + std::to_string(base));
}
return base;