Hola querida comunidad!
Quisiera que me ayuden con éste problemilla que se presento cuando quiero que se reproduzca un sonido al destruirse una vasija.
Éste es el código:
//Event STEP
if caja_rota = 0
{
image_speed = 0.6
audio_play_sound(Snd_Vasija_Romper,0,false)
}
Lo que quiero hacer aquí, es que cuando la vida de la vasija llegue a 0, se reproduzca la animación de destrucción y a la vez el sonido de cuando se rompe.
Me funciona bien la animación, pero lo que no sale bien es el sonido de romperse. Ya que se reproduce muchas veces a la vez.
Será porque está en el event STEP? pero si ese es el problema, donde podría poner el código.
Espero me puedan ayudar!
Puedes ponerlo en el evento Destroy
Intenté probar en Event Destroy y tampoco funciona, es más, como que se reproduce solo una parte del sonido.
Así tengo los códigos:
//Obj_Vasija:
//Event CREATE:
///Variable
image_speed = 0
vasija_rota = 3 //Vida de Vasija (Con tres toques se le destruye)
golpe = false //No es tocada
//Event STEP:
if place_meeting(x-1,y,Obj_Player)
{
if (golpe == false)
{
audio_play_sound(Snd_Golpe_Vasija,0,false)
golpe = true
vasija_rota -= 1
alarm[0] = room_speed
}
}
else
{
golpe = false
}
if vasija_rota = 0
{
image_speed = 0.6
audio_play_sound(Snd_Vasija_Romper,0,false)
}
exit
//Event Alarm 0:
golpe = false
//Event Animated End:
instance_destroy()
No sucede el problema con el sonido del Golpe_Vasija, pero si con el sonido Vasija_Romper.
Cita de: Luis En en Septiembre 04, 2018, 11:32:33 PM
Intenté probar en Event Destroy y tampoco funciona, es más, como que se reproduce solo una parte del sonido.
Así tengo los códigos:
//Obj_Vasija:
//Event CREATE:
///Variable
image_speed = 0
vasija_rota = 3 //Vida de Vasija (Con tres toques se le destruye)
golpe = false //No es tocada
sonido_cajarota = false
//Event STEP:
if place_meeting(x-1,y,Obj_Player)
{
if (golpe == false)
{
audio_play_sound(Snd_Golpe_Vasija,0,false)
golpe = true
vasija_rota -= 1
alarm[0] = room_speed
}
}
else
{
golpe = false
}
if vasija_rota = 0
{
image_speed = 0.6
audio_play_sound(Snd_Vasija_Romper,0,false)
}
exit
//Event Alarm 0:
golpe = false
//Event Animated End:
instance_destroy()
No sucede el problema con el sonido del Golpe_Vasija, pero si con el sonido Vasija_Romper.
Ya lo solucioné! compañeros.
Lo que hice fue:
En vez de establecer la vida de la Vasija, con la variable: "vasija_rota". Utilice la función "lives" de game maker para establecer la vida de la Vasija. Entonces cambie: "vasija_rota" por "lives", y en Event Other>No more lives, puse que se reprodujera el sonido al cuando "lives" llegue a 0. No se si me explique bien, pero aquí el código que cambie:
[gml]
//Event STEP:
if place_meeting(x-1,y,Obj_Player)
{
if (golpe == false)
{
audio_play_sound(Snd_Golpe_Vasija,0,false)
golpe = true
lives -= 1 //Se restará 1 de vida
alarm[0] = room_speed
}
}
else
{
golpe = false
}
if lives = 0 //Si no le queda vida
{
image_speed = 0.6
}
//Event Other> No more lives: //Reproducir sonido de destrucción
audio_play_sound(Snd_Vasija_Romper,0,false)
[/gml]