Comunidad de diseño web y desarrollo en internet online

uso de comboBox

Citar            
MensajeEscrito el 02 Ene 2008 03:19 am
Hola a todos, es la primera vez que entro al foro y aprovechando quisiera pedirles si alguien me puede ayudar o decirme si hay un tutorial entendible para el uso de comboBox en flash 8.
Lo que pasa es que estoy haciendo un simulador y tengo 2 combos pero no se como programar las acciones, por ejemplo en un combo tengo unos rangos de numeros los llene con un vector desde 0 hasta 9 pero no se como programar q si se selecciona el primer rango se vaya a un frame, si es la segunda pues a otro frame y asi sucesivamente.

Ojalá pueda alguien ayudarme
gracias de antemano

Por uffl_cp

1 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 02 Ene 2008 11:09 am
Para ponerte un ejemplo, te mostraré un poco del código que usé para una cosilla que hice en flash:

Teniendo el combo box en el escenario, con nombre de instancia "box"; junto con 2 botones, instanciados "stoper" y "go" respectivamente.

Ahora abre el Inspector de componentes y selecciona el combo box:

Como puedes ver, en mi caso tengo 4 elementos en el combo:
[Hélice,Hipocicloide,Hepicicloide,F.Lissajous]

Los puedes ver donde pone "labels", y aparecen en forma de matriz (array).

Si te fijas, verás que hay otro campo muy parecido llamado "data", donde aparece otro array:
[f1,f2,f3,f4]

Ok, estos valores los puse yo, igual que los anteriores. Es decir, igual que pone eso, podría poner:
[qwe,asd,zxc,jkl]
Pero no lo pongo, pues este array será el que identifica la posición actual del combo box, así que usamos nombres sencillos para evitar errores

Una vez visto esto, vayamos a lo que interesa: El código para acceder al valor actual del combo box.

Para acceder al array de data: (campos mas sencillos)

Código :

box.getSelectedItem().data

Para acceder al array de labels: (nombre que le pusiste a cada campo)

Código :

box.getSelectedItem().label
Estos códigos tiene un valor concreto, que varía según el elemento en el que esté actualmente el combo:

Código :

  COMBO BOX      |    box.getSelectedItem().data    |    box.getSelectedItem().label
   Hélice                         f1                               Hélice 
Hipocicloide                      f2                            Hipocicloide 
Hepicicloide                      f3                            Hepicicloide
 F.Lissajous                      f4                             F.Lissajous

Lo que hagas a partir de aquí ya depende de ti, por ejemplo, puedes crear una función parecida a esta, si lo que quieres es que cada vez que se cambia el combo box, automáticamente reacción e y haga algo

Código :

function change(evt){
    trace(evt.target.selectedItem.data);
    //ha cambiado el valor actual del combo
    //hace un trace del valor en el que se ha posicionado
    //aquí es donde van tus acciones
}
box.addEventListener("change", this);

Por otra parte, si quieres que aunque haya cambiado, no haga nada hasta que pulses el botón "go", puedes usar un código como éste:

Código :

go.onPress = function() {
   acciones();
};
function acciones() {
   switch (box.getSelectedItem().data) {
      case "f1" :
         trace("Has pulsado <Hélice>");
         break;
      case "f2" :
         trace("Has pulsado <Epicicloide>");
         break;
      case "f3" :
         //asdf
         break;
      case "f4" :
         //asdf
         break;
   }
}


Espero te haya ayudado ;)

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

firefox
Citar            
MensajeEscrito el 03 Ene 2008 02:07 am
gracias por la ayuda, ya mas o menos le he entendido, pero una pregunta más, el código en q parte se pone, es en el escenario o es en el combo o en el botón para q haga la opción?

de nuevo gracias

Por uffl_cp

1 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 03 Ene 2008 11:13 am
El código va en un fotograma de la linea de tiempo del escenario (en el que quieres que se ejecute el código) Normalmente, si se usa Action Script, se hace que solo haya un fotograma, pues si hay mas, avanza y deja de realizar las acciones.

Por Bleend

Claber

3385 de clabLevel

10 tutoriales
4 articulos

Genero:Masculino   Héroes

Barcelona

firefox

 

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