Sonido añadido

parent 96e3b7f8
No preview for this file type
......@@ -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)
},
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) {
zRaton*=(1080.0/handle.getTamY());
int contadorCorrectos=0;
if(atras.colisionaObjeto(xRaton,zRaton)){
sonidoBoton.play();
cancion.pausar();
handle.removeme();
}
for(int i=0;i<4;i++){
if(botonesArriba[i].colisionaObjeto(xRaton, zRaton)){
combinacionActual[i]=(combinacionActual[i]+1)%10;
sonidoBoton.play();
}
if(botonesAbajo[i].colisionaObjeto(xRaton, zRaton)){
......@@ -67,6 +72,7 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
if(combinacionActual[i]==combinacionBuena[i]) contadorCorrectos++;
}
if(contadorCorrectos==4){
cancion.pausar();
historiaPrincipal.pasarDeEstadoA(Historia::CalendarioQuitado,Historia::PuzlePantallaResuelto);
handle.removeme();
}
......@@ -79,6 +85,10 @@ void PantallaFecha::manejarEntrada(Handle &handle) {
}
void PantallaFecha::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
if(!cancion.getTocada()){
cancion.play();
}
Fondo1.renderizar(renderer, 0, 0,1920,1080, tamx, tamy);
atras.renderizar(renderer,tamx,tamy);
......
......@@ -20,6 +20,8 @@ class PantallaFecha : public Pantalla {
int combinacionActual[4];
int combinacionBuena[4];
bool AgapitoTieneCarne = false;
Sonido sonidoBoton;
Sonido cancion;
......
......@@ -10,7 +10,8 @@ PantallaInicio::PantallaInicio() :
Fondo1("assets/PantallaInicio.jpg"),
colisionCambioPantalla(1500,-1500,2000,1300),
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");
......@@ -38,6 +39,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
case SDL_KEYDOWN:
switch (event.key.keysym.sym) {
case 13:
sonidoBoton.play();
iniciar(handle);
break;
}
......@@ -51,6 +53,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
zRaton*=(1080.0/handle.getTamY());
cout<<"Raton x "<<xRaton<<" Raton z "<<zRaton<<endl;
if(colisionesInterfaz[0].colisiona(xRaton, zRaton) ){
sonidoBoton.play();
iniciar(handle);
}
}
......
......@@ -19,6 +19,7 @@ class PantallaInicio : public Pantalla {
Sprite Fondo1;
Sonido AnuncioTitulo;
Sonido Cancion;
Sonido sonidoBoton;
void iniciar(Handle &);
......
......@@ -21,7 +21,9 @@ PantallaMundo::PantallaMundo(const char *fondo, Hitbox colisionCambioPantalla, s
Hitbox( 666, 415, 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) {
......@@ -83,6 +85,7 @@ void PantallaMundo::manejarEntrada(Handle &handle) {
// Activar el ojo si esta abierto
if(colisionesInterfaz[0].colisiona(xRaton, zRaton) && ojo_abierto){
// Se llama a la funcion de interacion del objeto
sonidoOjo.play();
if(objetos[indiceColision].interactuar(handle)){
// Si devuelve true se elimina
objetos.erase(objetos.begin()+indiceColision);
......
......@@ -7,6 +7,7 @@
#include "Texto.h"
#include "Fuente.h"
#include "Personaje.h"
#include "Sonido.h"
class PantallaMundo : public Pantalla {
Fuente fuente1;
......@@ -35,6 +36,11 @@ class PantallaMundo : public Pantalla {
std::vector<Hook> hooks;
Sonido sonidoBoton;
Sonido sonidoOjo;
protected:
vector<Objeto> objetos;
vector<Hitbox> colisionesActivas;
......
......@@ -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"),
};
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) {
if (milis.count() > 100 || this->estado != direction) {
indice_movimiento = (indice_movimiento + 1) % movimientos[this->estado].size();
momento_ultimo_movimiento = now;
if(primerPaso){
pasoActual=paso1;
pasoActual.play();
}else if(!paso && pasoActual.acabado()){
pasoActual=paso1;
pasoActual.play();
}
primerPaso=false;
}
this->estado = direction;
......@@ -54,6 +67,7 @@ void Personaje::renderizar(SDL_Renderer *renderer, int tamx, int tamy) {
indice_movimiento = 0;
}
cout<<" Renderizar Se mueve a " << x << " "<<profundidades<<endl;
movimientos[estado][indice_movimiento].renderizar(renderer, x, 200, profundidades*0.5, profundidades, tamx, tamy, true);
}
......
......@@ -7,6 +7,7 @@
#include "Sprite.h"
#include "Objeto.h"
#include "Hitbox.h"
#include "Sonido.h"
using namespace std;
......@@ -32,7 +33,11 @@ class Personaje {
int x = 600;
int profundidades = 500;
Sonido paso1;
Sonido paso2;
bool paso=false;
Sonido pasoActual;
bool primerPaso=true;
public:
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