Pantalla con chinchetas

parent 0166aee8
No preview for this file type
...@@ -16,7 +16,7 @@ void Historia::limpiarEstado(){ ...@@ -16,7 +16,7 @@ void Historia::limpiarEstado(){
} }
}; };
static Objeto generarObjetoPantalla(bool (*funcion)(Objeto *)) { static Objeto generarObjetoPantalla(bool (*funcion)(Objeto *, Handle&)) {
Sprite sprPantalla("assets/pantalla.png"); Sprite sprPantalla("assets/pantalla.png");
Hitbox hitPantalla(300,200,500,-1000000000); Hitbox hitPantalla(300,200,500,-1000000000);
...@@ -36,8 +36,8 @@ static Objeto generarObjetoCalendario() { ...@@ -36,8 +36,8 @@ static Objeto generarObjetoCalendario() {
static void iniciarInicio() { static void iniciarInicio() {
play_video("assets/Encerrado", "es");
auto funcionPantalla=[](Objeto *Pantalla)->bool{ auto funcionPantalla=[](Objeto *Pantalla, Handle &handle)->bool{
play_video("assets/MiedoCalendario1","es"); play_video("assets/MiedoCalendario1","es");
historiaPrincipal.pasarDeEstadoA(Historia::Secuencia::Inicio, Historia::Secuencia::CalendarioVisto); historiaPrincipal.pasarDeEstadoA(Historia::Secuencia::Inicio, Historia::Secuencia::CalendarioVisto);
return false; return false;
...@@ -56,7 +56,7 @@ static void iniciarInicio() { ...@@ -56,7 +56,7 @@ static void iniciarInicio() {
static void iniciarCalendarioVisto(){ static void iniciarCalendarioVisto(){
auto funcionPantalla=[](Objeto *Pantalla)->bool{ auto funcionPantalla=[](Objeto *Pantalla, Handle &handle)->bool{
play_video("assets/MiedoCalendario2","es"); play_video("assets/MiedoCalendario2","es");
return false; return false;
}; };
...@@ -87,8 +87,8 @@ static void iniciarCalendarioVisto(){ ...@@ -87,8 +87,8 @@ static void iniciarCalendarioVisto(){
static void iniciarCalendarioQuitado(){ static void iniciarCalendarioQuitado(){
auto funcionPantalla=[](Objeto *Pantalla)->bool{ auto funcionPantalla=[](Objeto *Pantalla, Handle &handle)->bool{
// TODO handle.addPantalla(getPantallaFecha());
return false; return false;
}; };
......
...@@ -16,7 +16,7 @@ class Historia{ ...@@ -16,7 +16,7 @@ class Historia{
}; };
private: private:
Secuencia estadoActual=Inicio; Secuencia estadoActual=CalendarioQuitado;
void limpiarEstado(); void limpiarEstado();
void siguienteEstado(Secuencia estado); void siguienteEstado(Secuencia estado);
......
...@@ -19,8 +19,8 @@ void Objeto::renderizar(SDL_Renderer *renderer, int tamx, int tamy){ ...@@ -19,8 +19,8 @@ void Objeto::renderizar(SDL_Renderer *renderer, int tamx, int tamy){
} }
} }
bool Objeto::interactuar(){ bool Objeto::interactuar(Handle& handle){
return funcionInteraccion(this); return funcionInteraccion(this, handle);
} }
......
#pragma once #pragma once
#include "GestorPantallas.h"
#include "Sprite.h" #include "Sprite.h"
#include "Hitbox.h" #include "Hitbox.h"
#include <iostream> #include <iostream>
...@@ -20,12 +20,12 @@ class Objeto { ...@@ -20,12 +20,12 @@ class Objeto {
int y; int y;
int w; int w;
int h; int h;
bool (*funcionInteraccion)(Objeto*); bool (*funcionInteraccion)(Objeto*,Handle&);
public: public:
Hitbox &getHitbox(); Hitbox &getHitbox();
Objeto(Sprite sprite_normal_, Sprite sprite_overworld_, Sprite sprite_overworld_highlight_, Hitbox colision_, int _x, int _y, int _w, int _h, State estado_, bool (*_funcionInteraccion)(Objeto*)): Objeto(Sprite sprite_normal_, Sprite sprite_overworld_, Sprite sprite_overworld_highlight_, Hitbox colision_, int _x, int _y, int _w, int _h, State estado_, bool (*_funcionInteraccion)(Objeto*, Handle&)):
sprite_normal(sprite_normal_), sprite_overworld(sprite_overworld_), sprite_normal(sprite_normal_), sprite_overworld(sprite_overworld_),
sprite_overworld_highlight(sprite_overworld_highlight_), colision(colision_), x(_x), y(_y), w(_w), h(_h), estado(estado_), funcionInteraccion(_funcionInteraccion){} sprite_overworld_highlight(sprite_overworld_highlight_), colision(colision_), x(_x), y(_y), w(_w), h(_h), estado(estado_), funcionInteraccion(_funcionInteraccion){}
...@@ -42,7 +42,7 @@ public: ...@@ -42,7 +42,7 @@ public:
this->y = y; this->y = y;
} }
bool interactuar(); bool interactuar(Handle &handle);
bool colisionaObjeto(int x, int z); bool colisionaObjeto(int x, int z);
}; };
...@@ -6,9 +6,8 @@ ...@@ -6,9 +6,8 @@
PantallaFecha::PantallaFecha() : PantallaFecha::PantallaFecha() :
fuente1("assets/OpenSans-Italic.ttf", 100), fuente1("assets/OpenSans-Italic.ttf", 100),
Fondo1("assets/PantallaPantalla.png"), Fondo1("assets/pantallaPantalla.png"),
instrucciones(fuente1,"Pon la combinación de tu cumpleaños",{255,255,255}),
interfaz("assets/InterfazCinematica.png"),
carne(Sprite("assets/carneNombre.png"),Sprite("assets/carneNombre.png"),Sprite("assets/carneNombre.png"),Hitbox(0,0,0,0),0,0,0,0,normal,nullptr), carne(Sprite("assets/carneNombre.png"),Sprite("assets/carneNombre.png"),Sprite("assets/carneNombre.png"),Hitbox(0,0,0,0),0,0,0,0,normal,nullptr),
...@@ -84,8 +83,7 @@ void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) { ...@@ -84,8 +83,7 @@ void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
if(AgapitoTieneCarne){ if(AgapitoTieneCarne){
carne.renderizar(renderer,tamx,tamy); carne.renderizar(renderer,tamx,tamy);
} }
interfaz.renderizar(renderer,0,0,0,0,tamx,tamy);
instrucciones.renderizar(renderer,0,0,tamx,tamy);
Texto num1(fuente1,std::to_string(combinacionActual[0]).c_str(),{0,0,0}); Texto num1(fuente1,std::to_string(combinacionActual[0]).c_str(),{0,0,0});
Texto num2(fuente1,std::to_string(combinacionActual[1]).c_str(),{0,0,0}); Texto num2(fuente1,std::to_string(combinacionActual[1]).c_str(),{0,0,0});
......
...@@ -16,8 +16,6 @@ class PantallaFecha : public Pantalla { ...@@ -16,8 +16,6 @@ class PantallaFecha : public Pantalla {
Objeto carne; Objeto carne;
Fuente fuente1; Fuente fuente1;
Sprite Fondo1; Sprite Fondo1;
Sprite interfaz;
Texto instrucciones;
int combinacionActual[4]; int combinacionActual[4];
int combinacionBuena[4]; int combinacionBuena[4];
bool AgapitoTieneCarne; bool AgapitoTieneCarne;
......
...@@ -33,7 +33,6 @@ void PantallaInicio::manejarEntrada(Handle &handle) { ...@@ -33,7 +33,6 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
switch (event.key.keysym.sym) { switch (event.key.keysym.sym) {
case 13: case 13:
Cancion.pausar(); Cancion.pausar();
play_video("assets/Encerrado", "es");
handle.reemplazamePor(colPantallas[0]); handle.reemplazamePor(colPantallas[0]);
break; break;
} }
...@@ -48,7 +47,6 @@ void PantallaInicio::manejarEntrada(Handle &handle) { ...@@ -48,7 +47,6 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl; cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl;
if(colisionesInterfaz[0].colisiona(xRaton, zRaton) ){ if(colisionesInterfaz[0].colisiona(xRaton, zRaton) ){
Cancion.pausar(); Cancion.pausar();
play_video("assets/Encerrado", "es");
handle.reemplazamePor(colPantallas[0]); handle.reemplazamePor(colPantallas[0]);
} }
} }
......
...@@ -80,7 +80,7 @@ void PantallaMundo::manejarEntrada(Handle &handle) { ...@@ -80,7 +80,7 @@ void PantallaMundo::manejarEntrada(Handle &handle) {
zRaton*=(1080.0/handle.getTamY()); zRaton*=(1080.0/handle.getTamY());
cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl; cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl;
if(colisionesInterfaz[0].colisiona(xRaton, zRaton) && ojo_abierto){ if(colisionesInterfaz[0].colisiona(xRaton, zRaton) && ojo_abierto){
if(objetos[indiceColision].interactuar()){ if(objetos[indiceColision].interactuar(handle)){
objetos.erase(objetos.begin()+indiceColision); objetos.erase(objetos.begin()+indiceColision);
} }
} }
......

776 KB | W: | H:

942 KB | W: | H:

assets/pantallaPantalla.png
assets/pantallaPantalla.png
assets/pantallaPantalla.png
assets/pantallaPantalla.png
  • 2-up
  • Swipe
  • Onion skin
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