Comunidad de diseño web y desarrollo en internet online

Control de volumen deslizante

Citar            
MensajeEscrito el 22 Feb 2007 08:42 am
queria crear un control DESLIZANTE de volumen para poder controlar el volumen de archivos mp3. He creado un botón llamado bot_vol y lo he convertido en clip de pelicula llamado control_vol. el volumen inicial lo tengo a 50 y quería que se deslizara hacia la izquierda y hacia la derecha para poder disminuir o aumentar el volumen pero estoy un poco perdida. :oops:
Espero que alguien pueda ayudarme.
Muchas gracias y saludos a todos!!!

Por airinchen

0 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 22 Feb 2007 10:03 pm
Hay varias maneras, la más simple es con startDrag y stopDrag, buscá en la ayuda de Flash.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 22 Feb 2007 10:10 pm
Creas un mc que tenga el elemento que se deslizará y una línea (por la que se deslizará), todo esto alineado a la izquierda (que el punto origen de la línea sea el punto origen del mc (el punto 0,0 vamos). Al principio, en el código declaras una variable con el valor del _width del mc. Y después, al mover el deslizador (con starDrag), en el evento onRelease (por ejemplo) haces una regla de tres: volumen=deslizador._x/variable_anchura_que_has_declarado*100

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 22 Feb 2007 11:43 pm
Hola

Es algo simple de hacer, simplemente necesitas hacer una simple regla de tres para saber el porcentaje de distancia de la barra al incio de moviento para saber cuanto volumen aumentar o disminuir

Veamos:

Supongamos que queremos hacer una barra de volumen horizontal. Tenemos un boton que sirvira de barra y a la cual podremos desplazar. Pongamosle que la posicion inicial es 250 y la final 390 sobre el eje x, el valor del eje y siempre es el mismo ya q el movimiento es horizontal, supongamos q ese valor es 100.

Varmos a inicializar las variables que necesitamos

Código :

var inicio:Number = 150; //posicion inicial del movimiento
var fin:Number = 390; //posicion final del movimiento 
var desplazamiento:Number = (fin - inicio) - barra._width; //cantidad de desplazamiento que puede realizar la barra, que en verdad es la distancia entre los dos puntos
var posY:Number = 100; //posicion en y de la barra


Ahora vamos a hacer que podamos desplazar la barra, y para ello usaremos startDrag y stopDrag

Código :

barra.onPress = function(){
   this.startDrag(false, inicio, posY, fin-this._width, posY);
}

barra.onRelease = barra.onReleaseOutside =  function(){
   this.stopDrag();
}

Fijate q en el anteultimo valor del startDrag ponemos "fin - this._width". Esto lo hacemos para que la barra no se vaya afuera de la guia que le dimos... o sea... si tenemos un espacio de 200 pixels para poner la barra, entonces el espacio "real", es de 200 menos el ancho de la barra, sino, al llegar al final la barra va a sobresalir y se solapara con otros elementos que haya en ese lugar.

Bueno, ya casi lo tenemos... ahora vamos hacer los calculos y veamos el codigo completo

Código :

var inicio:Number = 150;
var fin:Number = 390;
var desplazamiento:Number = (fin - inicio) - barra._width;
var posY:Number = 100;

barra.onPress = function(){
   this.startDrag(false, inicio, posY, fin-this._width, posY);
   this.onEnterFrame = function(){
      porc = ((this._x - inicio) * 100) / desplazamiento;porc = (pos * 100) / desplazamiento;
      _root.miMusica.setVolume(porc);
   }
}

barra.onRelease = barra.onReleaseOutside =  function(){
   this.stopDrag();
   delete this.onEnterFrame;
}

Como veras, lo que hicimos fue q mientras estes desplazando la barra se calcule por medio de un enterframe el porcentaje de distancia que hay desde la posicion actual de la barra a su posicion inicial.


Espero q te sirva

Bye!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox

 

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