Sonido añadido

parent 96e3b7f8
No preview for this file type
...@@ -24,7 +24,9 @@ PantallaFecha::PantallaFecha() : ...@@ -24,7 +24,9 @@ PantallaFecha::PantallaFecha() :
Objeto(Sprite("assets/flechaAbajo.jpg"),Sprite("assets/flechaAbajo.jpg"),Sprite("assets/flechaAbajo.jpg"),Hitbox(1525,1325,700,600),1325,600,200,100,normal,nullptr) Objeto(Sprite("assets/flechaAbajo.jpg"),Sprite("assets/flechaAbajo.jpg"),Sprite("assets/flechaAbajo.jpg"),Hitbox(1525,1325,700,600),1325,600,200,100,normal,nullptr)
}, },
combinacionBuena{1,3,0,3}, combinacionBuena{1,3,0,3},
combinacionActual{0,0,0,0} combinacionActual{0,0,0,0},
sonidoBoton("assets/SonidoClicar.wav",false),
cancion("assets/LonesomeJourneyByKeysOfMoonMusic.wav",true)
{ {
} }
...@@ -49,11 +51,14 @@ void PantallaFecha::manejarEntrada(Handle &handle) { ...@@ -49,11 +51,14 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
zRaton*=(1080.0/handle.getTamY()); zRaton*=(1080.0/handle.getTamY());
int contadorCorrectos=0; int contadorCorrectos=0;
if(atras.colisionaObjeto(xRaton,zRaton)){ if(atras.colisionaObjeto(xRaton,zRaton)){
sonidoBoton.play();
cancion.pausar();
handle.removeme(); handle.removeme();
} }
for(int i=0;i<4;i++){ for(int i=0;i<4;i++){
if(botonesArriba[i].colisionaObjeto(xRaton, zRaton)){ if(botonesArriba[i].colisionaObjeto(xRaton, zRaton)){
combinacionActual[i]=(combinacionActual[i]+1)%10; combinacionActual[i]=(combinacionActual[i]+1)%10;
sonidoBoton.play();
} }
if(botonesAbajo[i].colisionaObjeto(xRaton, zRaton)){ if(botonesAbajo[i].colisionaObjeto(xRaton, zRaton)){
...@@ -67,6 +72,7 @@ void PantallaFecha::manejarEntrada(Handle &handle) { ...@@ -67,6 +72,7 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
if(combinacionActual[i]==combinacionBuena[i]) contadorCorrectos++; if(combinacionActual[i]==combinacionBuena[i]) contadorCorrectos++;
} }
if(contadorCorrectos==4){ if(contadorCorrectos==4){
cancion.pausar();
historiaPrincipal.pasarDeEstadoA(Historia::CalendarioQuitado,Historia::PuzlePantallaResuelto); historiaPrincipal.pasarDeEstadoA(Historia::CalendarioQuitado,Historia::PuzlePantallaResuelto);
handle.removeme(); handle.removeme();
} }
...@@ -79,6 +85,10 @@ void PantallaFecha::manejarEntrada(Handle &handle) { ...@@ -79,6 +85,10 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
} }
void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) { void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
if(!cancion.getTocada()){
cancion.play();
}
Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy); Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy);
atras.renderizar(renderer,tamx,tamy); atras.renderizar(renderer,tamx,tamy);
......
...@@ -20,6 +20,8 @@ class PantallaFecha : public Pantalla { ...@@ -20,6 +20,8 @@ class PantallaFecha : public Pantalla {
int combinacionActual[4]; int combinacionActual[4];
int combinacionBuena[4]; int combinacionBuena[4];
bool AgapitoTieneCarne = false; bool AgapitoTieneCarne = false;
Sonido sonidoBoton;
Sonido cancion;
......
...@@ -10,7 +10,8 @@ PantallaInicio::PantallaInicio() : ...@@ -10,7 +10,8 @@ PantallaInicio::PantallaInicio() :
Fondo1("assets/PantallaInicio.jpg"), Fondo1("assets/PantallaInicio.jpg"),
colisionCambioPantalla(1500,-1500,2000,1300), colisionCambioPantalla(1500,-1500,2000,1300),
AnuncioTitulo("assets/AgapitoTitulo.wav",false), AnuncioTitulo("assets/AgapitoTitulo.wav",false),
Cancion("assets/Spring In My Step - Silent Partner.wav",true) Cancion("assets/Spring In My Step - Silent Partner.wav",true),
sonidoBoton("assets/SonidoClicar.wav",false)
{ {
Sprite sprIniciarPartida("assets/iniciarPartida.png"); Sprite sprIniciarPartida("assets/iniciarPartida.png");
...@@ -38,6 +39,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) { ...@@ -38,6 +39,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
case SDL_KEYDOWN: case SDL_KEYDOWN:
switch (event.key.keysym.sym) { switch (event.key.keysym.sym) {
case 13: case 13:
sonidoBoton.play();
iniciar(handle); iniciar(handle);
break; break;
} }
...@@ -51,6 +53,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) { ...@@ -51,6 +53,7 @@ void PantallaInicio::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) ){ if(colisionesInterfaz[0].colisiona(xRaton, zRaton) ){
sonidoBoton.play();
iniciar(handle); iniciar(handle);
} }
} }
......
...@@ -19,6 +19,7 @@ class PantallaInicio : public Pantalla { ...@@ -19,6 +19,7 @@ class PantallaInicio : public Pantalla {
Sprite Fondo1; Sprite Fondo1;
Sonido AnuncioTitulo; Sonido AnuncioTitulo;
Sonido Cancion; Sonido Cancion;
Sonido sonidoBoton;
void iniciar(Handle &); void iniciar(Handle &);
......
...@@ -21,7 +21,9 @@ PantallaMundo::PantallaMundo(const char *fondo, Hitbox colisionCambioPantalla, s ...@@ -21,7 +21,9 @@ PantallaMundo::PantallaMundo(const char *fondo, Hitbox colisionCambioPantalla, s
Hitbox( 666, 415, 1050, 900), Hitbox( 666, 415, 1050, 900),
Hitbox(1015, 780, 1050, 900) Hitbox(1015, 780, 1050, 900)
}), }),
posicion_inicio_personaje(posicionInicioPersonaje) posicion_inicio_personaje(posicionInicioPersonaje),
sonidoBoton("assets/SonidoClicar.wav",false),
sonidoOjo("assets/SonidoOjo.wav",false)
{}; {};
void PantallaMundo::comprobarColisionSiguientePantalla(Handle &handle) { void PantallaMundo::comprobarColisionSiguientePantalla(Handle &handle) {
...@@ -83,6 +85,7 @@ void PantallaMundo::manejarEntrada(Handle &handle) { ...@@ -83,6 +85,7 @@ void PantallaMundo::manejarEntrada(Handle &handle) {
// Activar el ojo si esta abierto // Activar el ojo si esta abierto
if(colisionesInterfaz[0].colisiona(xRaton, zRaton) && ojo_abierto){ if(colisionesInterfaz[0].colisiona(xRaton, zRaton) && ojo_abierto){
// Se llama a la funcion de interacion del objeto // Se llama a la funcion de interacion del objeto
sonidoOjo.play();
if(objetos[indiceColision].interactuar(handle)){ if(objetos[indiceColision].interactuar(handle)){
// Si devuelve true se elimina // Si devuelve true se elimina
objetos.erase(objetos.begin()+indiceColision); objetos.erase(objetos.begin()+indiceColision);
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "Texto.h" #include "Texto.h"
#include "Fuente.h" #include "Fuente.h"
#include "Personaje.h" #include "Personaje.h"
#include "Sonido.h"
class PantallaMundo : public Pantalla { class PantallaMundo : public Pantalla {
Fuente fuente1; Fuente fuente1;
...@@ -35,6 +36,11 @@ class PantallaMundo : public Pantalla { ...@@ -35,6 +36,11 @@ class PantallaMundo : public Pantalla {
std::vector<Hook> hooks; std::vector<Hook> hooks;
Sonido sonidoBoton;
Sonido sonidoOjo;
protected: protected:
vector<Objeto> objetos; vector<Objeto> objetos;
vector<Hitbox> colisionesActivas; vector<Hitbox> colisionesActivas;
......
...@@ -8,7 +8,11 @@ array<array<Sprite, 4>, 4> sprites_constantes = { ...@@ -8,7 +8,11 @@ array<array<Sprite, 4>, 4> sprites_constantes = {
Sprite("assets/AgapitoBack1.png"), Sprite("assets/AgapitoBack2.png"), Sprite("assets/AgapitoBack1.png"), Sprite("assets/AgapitoBack3.png"), Sprite("assets/AgapitoBack1.png"), Sprite("assets/AgapitoBack2.png"), Sprite("assets/AgapitoBack1.png"), Sprite("assets/AgapitoBack3.png"),
}; };
Personaje::Personaje() : movimientos(sprites_constantes) { Personaje::Personaje() : movimientos(sprites_constantes) ,
paso1("assets/paso1.wav",false),
paso2("assets/paso2.wav",false),
pasoActual("assets/paso1.wav",false)
{
} }
...@@ -21,6 +25,15 @@ void Personaje::move(Facing direction) { ...@@ -21,6 +25,15 @@ void Personaje::move(Facing direction) {
if (milis.count() > 100 || this->estado != direction) { if (milis.count() > 100 || this->estado != direction) {
indice_movimiento = (indice_movimiento + 1) % movimientos[this->estado].size(); indice_movimiento = (indice_movimiento + 1) % movimientos[this->estado].size();
momento_ultimo_movimiento = now; momento_ultimo_movimiento = now;
if(primerPaso){
pasoActual=paso1;
pasoActual.play();
}else if(!paso && pasoActual.acabado()){
pasoActual=paso1;
pasoActual.play();
}
primerPaso=false;
} }
this->estado = direction; this->estado = direction;
...@@ -54,6 +67,7 @@ void Personaje::renderizar(SDL_Renderer *renderer, int tamx, int tamy) { ...@@ -54,6 +67,7 @@ void Personaje::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
indice_movimiento = 0; indice_movimiento = 0;
} }
cout<<" Renderizar Se mueve a " << x << " "<<profundidades<<endl; cout<<" Renderizar Se mueve a " << x << " "<<profundidades<<endl;
movimientos[estado][indice_movimiento].renderizar(renderer, x, 200, profundidades*0.5, profundidades, tamx, tamy, true); movimientos[estado][indice_movimiento].renderizar(renderer, x, 200, profundidades*0.5, profundidades, tamx, tamy, true);
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#include "Sprite.h" #include "Sprite.h"
#include "Objeto.h" #include "Objeto.h"
#include "Hitbox.h" #include "Hitbox.h"
#include "Sonido.h"
using namespace std; using namespace std;
...@@ -32,7 +33,11 @@ class Personaje { ...@@ -32,7 +33,11 @@ class Personaje {
int x = 600; int x = 600;
int profundidades = 500; int profundidades = 500;
Sonido paso1;
Sonido paso2;
bool paso=false;
Sonido pasoActual;
bool primerPaso=true;
public: public:
array<optional<Objeto>, 3> inventario; array<optional<Objeto>, 3> inventario;
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
The file could not be displayed because it is too large.
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
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