Posicionado Hitboxes.

parent 8ccfc2d4
No preview for this file type
......@@ -10,20 +10,31 @@ PantallaPrincipal::PantallaPrincipal() :
Sprite sprOjoCerrado("assets/ojoCerrado.png");
Hitbox hitPlanta(350,80,450,120);
Hitbox hitInterfaz(1920,0,900,700);
Hitbox hitCama(10,50,300,300);
Hitbox hitFondo(1000000,-10000000,50,0);
Hitbox hitOjo(1000000,-10000000,70,0);
Objeto Ojo(sprOjoCerrado,sprOjoAbierto,sprOjoAbierto,hitOjo,1300,890,400,170,normal);
Hitbox hitOjo(0,-10,1200,-10000000);
Objeto Planta(sprPlanta,sprPlanta,sprPlanta,hitPlanta,1200,400,300,400, 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);
indice_ojo = objetos.size();
objetos.push_back(Ojo);
objetos.push_back(Planta);
colisionesActivas.push_back(hitPlanta);
colisionesActivas.push_back(hitCama);
colisionesActivas.push_back(hitFondo);
colisionesActivas.push_back(hitInterfaz);
colisionesActivas.push_back(hitCama);
colisionesActivas.push_back(hitDer);
colisionesActivas.push_back(hitIzq);
colisionesPasivas.push_back(hitOjo);
}
......@@ -54,12 +65,12 @@ void PantallaPrincipal::manejarEntrada(Handle &handle) {
bool checkColision=false;
int i=0;
while(!checkColision && i<colisionesPasivas.size()){
checkColision=Agapito.comprobarColisionPasiva(colisionesPasivas[i]);
checkColision |= Agapito.comprobarColisionPasiva(colisionesPasivas[i]);
i++;
}
if(checkColision){
objetos[1].setEstado(overworld);
}else objetos[1].setEstado(normal);
objetos[indice_ojo].setEstado(overworld);
}else objetos[indice_ojo].setEstado(normal);
}
break;
case SDL_QUIT:
......@@ -73,11 +84,12 @@ void PantallaPrincipal::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy);
Agapito.renderizar(renderer, tamx, tamy);
for(int i=0;i<objetos.size();i++){
objetos[i].renderizar(renderer, tamx, tamy);
}
Agapito.renderizar(renderer, tamx, tamy);
texto.renderizar(renderer, 50, 50, tamx, tamy);
}
......@@ -16,6 +16,8 @@ class PantallaPrincipal : public Pantalla {
Sprite Fondo1;
Personaje Agapito;
int indice_ojo = 0;
public:
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