Uso de Combo Box en Flash (leer el contenido)

Posted on Wednesday 2 January 2008

Para empezar, en el escenario ubicaremos un combo box, en el cual, usando el inspector de componentes, añadiremos el contenido según la imagen
Teniendo el combo box en el escenario le ponemos como nombre de instancia "box".

Ahora abre el Inspector de componentes y selecciona el combo box:
Componen inspector and combo box de flash
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
Combo box values
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)

Actionscript:
  1. box.getSelectedItem().data

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

Actionscript:
  1. box.getSelectedItem().label

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

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 y para que lo quieras.

Por ejemplo, puedes crear una función parecida a esta, si lo que quieres es que cada vez que se cambia el valor en el combo box, automáticamente reaccione y haga algo:

Actionscript:
  1. function change(evt){
  2.     trace(evt.target.selectedItem.data);
  3.     //ha cambiado el valor actual del combo
  4.     //hace un trace del valor en el que se ha posicionado
  5.     //aquí es donde van tus acciones (puedes eliminar el trace)
  6. }
  7. box.addEventListener("change", this);
  8. /crea el listener de la función

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

Actionscript:
  1. go.onPress = function() {
  2.     acciones();
  3. };
  4. function acciones() {
  5.     switch (box.getSelectedItem().data) {
  6.         case "f1" :
  7.             trace("Has pulsado <hélice>");
  8.             break;
  9.         case "f2" :
  10.             trace("Has pulsado <epicicloide>");
  11.             break;
  12.         case "f3" :
  13.             //asdf
  14.             break;
  15.         case "f4" :
  16.             //asdf
  17.             break;
  18.     }
  19. }

Espero les haya ayudado ;)




4 Comments for 'Uso de Combo Box en Flash (leer el contenido)'

  1.  
    One
    January 2, 2008 | 3:39 pm
     

    Muy buen Tip :wink:

  2.  
    January 2, 2008 | 11:00 pm
     

    Buen tip, Bleend :wink:

  3.  
    Lightwave
    January 4, 2008 | 10:25 am
     

    Aprovechaste el que hiciste para Clab :razz: Buen tip :wink:
    PD: Sigue duro con el blog que muchos te seguimos dia a dia :grin:

  4.  
    January 4, 2008 | 10:50 am
     

    @ Lightwave:Jaja, pues claro. Pregunté en clab si servía como tip, pero me dijeron que igual era demasiado corto, así que opté por ponerlo aquí :mrgreen:
    Muchas gracias por tu coment, me motivó mucho eso ultimo :wink:

Leave a comment

(required)

(required)


Information for comment users
Line and paragraph breaks are implemented automatically. Your e-mail address is never displayed. Please consider what you're posting.

Use the buttons below to customise your comment.


:smile: :grin: :razz: :lol: :wink: :mrgreen: :neutral: :roll: :shock: :???: :cool: :oops: :twisted: :evil: :eek: :mad: :sad: :cry: :!: :idea: :arrow:

RSS feed for comments on this post | TrackBack URI