Comunidad de diseño web y desarrollo en internet online

Problema con setVolume() y superposicion del mismo sonido

Citar            
MensajeEscrito el 11 Dic 2008 04:49 pm
hola pues

tengo un problema:

estoy haciendo un juego de disparos, estoy en la parte del sonido, hice que cuando alguien dispara y esta lejos de nuestro personaje el sonido se escucha con volumen mas bajo, calculando la distancia y aplicando un setVolume()

El problema que tengo es que el setVolume() baja el volumen de todas las copias del sonido al que se le aplica, eso me da el problema de que si estoy escuchando un disparo con el volumen bajo por que el enemigo esta lejos y yo , antes de que termine el sonido, disparo con la misma arma (por lo tanto el mismo sonido) se aplica el setVolime (al 100% en este caso) al sonido de mi personaje (correcto) pero tambien al que se estaba reproduciendo en el momento en que yo dispare, que deberia sonar con volumen bajo, se le sube el volumen.
Si los sonidos no se superpusieran no habría problema, pero naturalmente en un juego de disparos mucha veces los sonidos se superponen y necesito poder superponer el mismo sonido con volumenes diferentes.

podría programar todo un sistema de canales de sonido pero no hay una forma fácil de resolver esto?

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Dic 2008 07:50 am
cuando creas un sonido, tienes q asignarle un MC "contenedor del sonido" .. por decirlo de alguna forma, cheka la ayuda, es un paso q muchos obvian.

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 12 Dic 2008 10:37 am
no encuentro nada en la ayuda relacionado con eso, como seria exactamente? mc.sonido.start() ?? ya lo probe pero no funciona , hay que hacer por cada reproduccion otra vez el newsound() loadsound() ??????

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Dic 2008 10:46 am
cada vez que se reprodusca un sonido tengo que cargar estas 2 funciones?????????
miSonido = new Sound(destino_mc)
miSonido.attachSound("disparo.wav");

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Dic 2008 11:07 am
El problema es que hay sonidos en mi juego que no estan asociados a ningun movieclip sino mas bien a una coordenada , por ejemplo el sonido de cuando un disparo pega en un lugar, el movieclip de la chispa es eliminado antes de que el sonido termine asi que tendria que asociar el sonido a esa coordenada, aunque no hay problema por que ya programe unas funciones que calculan la distancia de la coordenada y te devuelven en volumen que tiene que tener el sonido, el tema es que no tengo ningun movieclip al cual asociarlo, tendria que crear otra funcion que crea un movieclip dinamicamente , crea el newSound y el attachSound(sonido.wav) la solucion seria una cosa asi:

function reproducir_sonido(){
createEmptyMovieClip( "mc"+numero , getNextHighestDepth())
this["miSonido"+numero] = new Sound("mc"+numero)
this["miSonido"+numero].attachSound("disparo.wav");
this["miSonido"+numero].start()
this["miSonido"+numero].setVolume(volumen)
}

La verdad me parece demasiadas lineas para lo que se va a hacer, que es solo "independizar" un sonido, si alguien sabe una solucion mas economica que lo diga , un saludo y gracias por la respuesta Acidbjazz.

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Dic 2008 11:47 am
por que no funciona esto???

numero = 0

function reproducir_sonido(){
numero++
mc_t = createEmptyMovieClip( "mc"+numero , getNextHighestDepth())
this["miSonido"+numero] = new Sound(mc_t)
sonido = this["miSonido"+numero]
sonido.loadSound("magnum.mp3",false);
sonido.start()
}
hice trace() en todas partes y todo esta ok pero el sonido no se reproduce

Por fermmm

Claber

122 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Dic 2008 12:06 pm
Ya esta solucionado, por lo visto no importa si se elimina el mc al que se le asignó el sonido ya que no se interrumpe al eliminar el mc, sabiendo eso puedo asignar los sonidos a los movieclips.

Por fermmm

Claber

122 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.