Posicionado Hitboxes.

parent 8ccfc2d4
No preview for this file type
...@@ -10,20 +10,31 @@ PantallaPrincipal::PantallaPrincipal() : ...@@ -10,20 +10,31 @@ PantallaPrincipal::PantallaPrincipal() :
Sprite sprOjoCerrado("assets/ojoCerrado.png"); Sprite sprOjoCerrado("assets/ojoCerrado.png");
Hitbox hitPlanta(350,80,450,120); Hitbox hitPlanta(350,80,450,120);
Hitbox hitInterfaz(1920,0,900,700); Hitbox hitInterfaz(1920,0,900,700);
Hitbox hitCama(10,50,300,300); Hitbox hitOjo(0,-10,1200,-10000000);
Hitbox hitFondo(1000000,-10000000,50,0);
Hitbox hitOjo(1000000,-10000000,70,0);
Objeto Ojo(sprOjoCerrado,sprOjoAbierto,sprOjoAbierto,hitOjo,1300,890,400,170,normal);
Objeto Planta(sprPlanta,sprPlanta,sprPlanta,hitPlanta,1200,400,300,400, normal); Objeto Planta(sprPlanta,sprPlanta,sprPlanta,hitPlanta,1200,400,300,400, normal);
Objeto Interfaz(sprInterfaz,sprInterfaz,sprInterfaz,hitInterfaz,0,870,1920,216,normal); Objeto Interfaz(sprInterfaz,sprInterfaz,sprInterfaz,hitInterfaz,0,870,1920,216,normal);
Objeto Ojo(sprOjoCerrado,sprOjoAbierto,sprOjoAbierto,hitOjo,1300,890,400,170,normal);
Hitbox hitFondo(1000000,-10000000,550,0);
Hitbox hitCama(500, 0, 1200,-10000000);
Hitbox hitDer(510, 450, 10000000,-10000000);
Hitbox hitIzq(-800, -900, 10000000,-10000000);
objetos.push_back(Interfaz); objetos.push_back(Interfaz);
indice_ojo = objetos.size();
objetos.push_back(Ojo); objetos.push_back(Ojo);
objetos.push_back(Planta); objetos.push_back(Planta);
colisionesActivas.push_back(hitPlanta);
colisionesActivas.push_back(hitCama);
colisionesActivas.push_back(hitFondo); colisionesActivas.push_back(hitFondo);
colisionesActivas.push_back(hitInterfaz); colisionesActivas.push_back(hitCama);
colisionesActivas.push_back(hitDer);
colisionesActivas.push_back(hitIzq);
colisionesPasivas.push_back(hitOjo); colisionesPasivas.push_back(hitOjo);
} }
...@@ -54,12 +65,12 @@ void PantallaPrincipal::manejarEntrada(Handle &handle) { ...@@ -54,12 +65,12 @@ void PantallaPrincipal::manejarEntrada(Handle &handle) {
bool checkColision=false; bool checkColision=false;
int i=0; int i=0;
while(!checkColision && i<colisionesPasivas.size()){ while(!checkColision && i<colisionesPasivas.size()){
checkColision=Agapito.comprobarColisionPasiva(colisionesPasivas[i]); checkColision |= Agapito.comprobarColisionPasiva(colisionesPasivas[i]);
i++; i++;
} }
if(checkColision){ if(checkColision){
objetos[1].setEstado(overworld); objetos[indice_ojo].setEstado(overworld);
}else objetos[1].setEstado(normal); }else objetos[indice_ojo].setEstado(normal);
} }
break; break;
case SDL_QUIT: case SDL_QUIT:
...@@ -73,11 +84,12 @@ void PantallaPrincipal::renderizar(SDL_Renderer *renderer, int tamx, int tamy) { ...@@ -73,11 +84,12 @@ void PantallaPrincipal::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy); Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy);
Agapito.renderizar(renderer, tamx, tamy);
for(int i=0;i<objetos.size();i++){ for(int i=0;i<objetos.size();i++){
objetos[i].renderizar(renderer, tamx, tamy); objetos[i].renderizar(renderer, tamx, tamy);
} }
Agapito.renderizar(renderer, tamx, tamy);
texto.renderizar(renderer, 50, 50, tamx, tamy); texto.renderizar(renderer, 50, 50, tamx, tamy);
} }
...@@ -16,6 +16,8 @@ class PantallaPrincipal : public Pantalla { ...@@ -16,6 +16,8 @@ class PantallaPrincipal : public Pantalla {
Sprite Fondo1; Sprite Fondo1;
Personaje Agapito; Personaje Agapito;
int indice_ojo = 0;
public: public:
PantallaPrincipal(); PantallaPrincipal();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment