Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/03/2009, 15:55
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: CheckBox: Busco ejemplo claro de como usarlo con Flash AS3

Cita:
Iniciado por Kronos_Corp Ver Mensaje
Muchas Gracis compa Japehi...muy buena la ayuda justamente andaba buscando algun toturial bueno para el componente checkbox...ahora tengo una duda


quiero que al estar seleccionado el componente checkbox tenga un valor.
Ejemplo: 2

y al no estarlo tenga otro.
Ejemplo: 3

para asi al pulsar otro boton me muestre la suma de los dos valores en un Texto Dinamico...espero haberme dado a entender
Hola Kronos_Corp !

Aquí hay un pequeño incoveniente, los componentes checkbox no pueden almacenar valores, solo podemos obtener el valor de la etiqueta por medio del atributo label, y también saber su estado si está seleccionado o no.

Lo que quieres es que el checkbox almacene un valor interno, y este sea variable de acuerdo al estado del checkbox, para esto vamos a tener que extender la funcionalidad del componente para agregarle esos comportamientos.

Para hacer esto debemos heredar de la clase checkbox y definir los comportamientos nuevos:

MyCheckBox.as
Código actionscript:
Ver original
  1. package
  2. {
  3.     import fl.controls.CheckBox;
  4.    
  5.     public class MyCheckBox extends CheckBox
  6.     {
  7.        
  8.         private var _selectedValue:Number;
  9.         private var _noselectedValue:Number;
  10.        
  11.         public function MyCheckBox(selectedValue, noselectedValue) {
  12.             _selectedValue = selectedValue;
  13.             _noselectedValue = noselectedValue;
  14.         }
  15.        
  16.         public function get value():Number {
  17.             if(selected) {
  18.                 return _selectedValue;
  19.             }
  20.             return _noselectedValue;
  21.         }
  22.     }
  23. }

Definí mi clase MyCheckBox, agregué 2 nuevos atributos que contendrán los valores cuando está seleccionado o no, estos valores los vamos a pasar al constructor cuando creemos el componente.

El método get value, se encarga de devolverme el valor correcto, dependiendo si el checkbox está seleccionado o no, me devuelve un valor u otro.

Ahora veamos un ejemplo con código de como usarla:

Código actionscript:
Ver original
  1. var cb1:MyCheckBox = new MyCheckBox(5, 10);
  2. cb1.label = "Opción 1";
  3. addChild(cb1);
  4.  
  5. var cb2:MyCheckBox = new MyCheckBox(8, 4);
  6. cb2.label = "Opción 2";
  7. addChild(cb2);
  8. cb2.y = 50;
  9.  
  10. cb1.addEventListener(MouseEvent.CLICK, onClick);
  11. cb2.addEventListener(MouseEvent.CLICK, onClick);
  12.  
  13. function onClick(evt:MouseEvent):void {
  14.     trace(evt.target.value);
  15. }


Vas a ver que el checkbox devuelve un valor de acuerdo a su estado.

Nota:
La clase MyCheckBox.as debe estar en la misma carpeta del .fla
También debes arratrar el componente checkbox al espacio de trabajo y depués borrarlo, esto con la finalidad de quede en la librería y no de errores de compilación a la hora de crear los componentes dinámicamente.


Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.