Comunidad de diseño web y desarrollo en internet online

volumen desde text insert

Citar            
MensajeEscrito el 28 Ene 2009 02:59 am
bueno gente necesitaba saber como puedo hacer para que cuando escribo un numero del 0 al 100 en un text insert, el volumen suba o baje..

hasta ahora en mi codigo hay esto

Código :

var musica = new Sound();
musica.loadSound("sonidos/01.mp3",true)
var vol = volumen.text
musica.setVolume (vol);


al parecer el codigo funciona porque si escribo 50 (antes de darle ctrl + enter para probrar la pelicula) si se escucha a la mitad, pero durante la pelicula si intento cambiar eso, no hay cambios en el volumen.. que tengo que agregar?


AHH PD: lo cambie de foro y lo puse aca.. por las dudas :p

Por Reinx

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Ene 2009 04:15 am
prueba poner tu codigo algo asi

Código ActionScript :

var musica = new Sound();
musica.loadSound("01.mp3",true)
this.onEnterFrame = function() {
   musica.setVolume (volumen.text);
}

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 28 Ene 2009 04:18 am
hmmm, cambie la ruta del archivo para facilitarme el trabajo pero es irrelevante

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 28 Ene 2009 04:37 am
huyy muchiiiiisimas gracias! funciona perfect

Por Reinx

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Ene 2009 05:56 pm
pues si, el objetivo lo cumple, pero hay mejores metodos de hacerlo, de hecho me dio la tentacion y cambie la parte que revisa cuando cambia algo (que actualmente era 12 veces por segundo si no me equivoco) a una que solo lo revisa cuando hay cambios en el texto y tambien le agrege limites para que no pusieras un volumen de 999999999999999999999999999999999999999999

aqui te dejo el nuevo codigo por si aun te interesa

por cierto, el validador que le puse parece limitar de 0 a 100 aunque dudo de la profesionalidad del metodo
el problema es que si pones 10, despues puedes escribir hasta 999, la diferencia de esto a sin validacion es que asi no llega el volumen a 999 sino que se queda en 10

Código ActionScript :

var musica = new Sound();
musica.loadSound("01.mp3",true)
volumen.restrict = "0-9";

volumen.onChanged = function() {
   if(volumen.text==10){
      volumen.maxChars = 3;
   }
   else {
      volumen.maxChars = 2;
   }
   if(volumen.text<=100&&volumen.text>=0){
      musica.setVolume (volumen.text);
      trace(volumen.text);
      }
}

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 29 Ene 2009 01:55 am
probe el codigo y funciona mucho mejor que el otro obviamente.
en cuando al problema que decis, lo probe y funciono de maravilla. intente poner 999 y se quedo en "99"
muchisimas gracias otra vez! :D

igual te voy a ser sincero. el objetivo de todo esto era ver si podia introducir datos al codigo desde un text instert. ya sean numeros, o para escribir la ruta de donde quiero que cargue el archivo.
de todas formas esto lo aplico para un panel de sonidos asi que me ree sirve.

ahora si no te molesta, yo el control de volumen lo hago mediante a un circulo que segun si sube o baja mediante drag, tambien lo hace el volumen, y si la muevo hacia los costados, cambia el balance hacia la izquierda o derecha.
existen dos textos dinamicos que tambien muestran el volumen y el balance en numeros.
lo que quisiera hacer es cambiarlos a text insert y cambiar algo del codigo para que tambien pueda subir el volumen (y tambien el balance) como me lo enseñaste, pero que tambien cambie de posicion el circulo obvio.

te dejo el codigo por si estas aburrido y tenes ganas de ayudarme. sino no importa ya hiciste muchisimo. mil gracias :)

Código :

var sonido:Sound = new Sound();

circulo._y = (this._height*50)/100;
circulo._x = (this._width*50)/100;

circulo.onPress = function(){
   this.startDrag(false,0,0,70,70);
}
circulo.onRelease = circulo.onReleaseOutside = function(){
   this.stopDrag();
}

circulo.onEnterFrame = function(){
   var volumen = 100-(Math.round(this._y*100/70));
   sonido.setVolume(volumen);   
   var balance = (Math.round(this._x*2*100/70))-100;
   sonido.setPan(balance);
   
   _root.vol_txt.text = volumen
   _root.pan_txt.text = balance
}


una vez mas gracias y perdon las molestias :D

Por Reinx

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Ene 2009 05:53 pm
ammm a ver, lamentablemente ese onEnterFrame que pusiste para que tomara los datos de el circulo no dejaba cambiar datos en el texto pues cuando tu cambias ese dato una vez en 2 segundos, el programa lo hace 12 veces por segundo, por lo que es completamente imposible, no se si lo explique bien

modifique un poco tu codigo, el problema es que el valor de los textos solo cambia cuando se suelta el circulo y te pongo el codigo para hacer lo inverso (txt2graph)

por cierto, puse el circulo en un movieclip llamado graph
aun necesitas ponerle validadores, ahora ado de flojera para eso :P

tu codigo con un poco de modificacion:

Código ActionScript :

var sonido:Sound = new Sound();

graph.circulo._y = (this._height*50)/100;
graph.circulo._x = (this._width*50)/100;

graph.circulo.onPress = function(){
   this.startDrag(false,0,0,100,100);
}
graph.circulo.onRelease = graph.circulo.onReleaseOutside = function(){
   this.stopDrag();
   var volumen = 100-(Math.round(this._y*100/100));
   sonido.setVolume(volumen);   
   var balance = (Math.round(this._x*2*100/100))-100;
   sonido.setPan(balance);
   
   _root.vol_txt.text = volumen
   _root.pan_txt.text = balance
}


mi codigo para txt2graph:
lamentablemente con mi cerebro lleno de estres por el dia imposible que tuve ayer no me deja lograr la parte del pan, pero te dejo lo del vol

Código ActionScript :

vol_txt.onChanged = function() {
   graph.circulo._y = vol_txt.text;
}



los separe pero hasta donde entiendo, no habria conflicto si los pusieras juntos

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 29 Ene 2009 08:42 pm
mmm lo probe y no me fuunncionoo porque el circulo NO SE SUELTA. que raro.. bueno igual creo que tengo una idea de como hacerlo. cuando lo termine muestro el codigo :)

Por Reinx

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 29 Ene 2009 09:46 pm
por demas raro, me parece que ya lo tengo listo, checalo a ver que tal (obvio falta la validacion)




ahora ya funciona el pan

aqui te dejo los nuevos codigos

yours modified:

Código ActionScript :

var sonido:Sound = new Sound();

graph.circulo._y = (graph._height)/2;
graph.circulo._x = 0;

graph.circulo.onPress = function(){
   this.startDrag(false,-100,0,100,100);
}
graph.circulo.onRelease = graph.circulo.onReleaseOutside = function(){
   this.stopDrag();
   var volumen = 100-(Math.round(this._y));
   sonido.setVolume(volumen);   
   var balance = (Math.round(this._x));
   sonido.setPan(balance);
   
   _root.vol_txt.text = volumen
   _root.pan_txt.text = balance
}



mine:

Código ActionScript :

vol_txt.onChanged = function() {
   graph.circulo._y = vol_txt.text;
   trace(vol_txt.text);
}
pan_txt.onChanged = function() {
   graph.circulo._x = pan_txt.text;
   trace(pan_txt.text);
}


y el link para que te descarges el fla

LINK :B

a ver si asi te funciona

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 31 Ene 2009 07:11 pm
SOS
UN
GENIO

el ejemplo funciona perfecto
ahi lo estoy tipeando para ver si me sale a mi :P

muchisimas graciasss me ayudaste un monton idolo
:alabado:

Por Reinx

34 de clabLevel



 

msie7

 

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