Digitos.as

  1. /*
  2.   Digitos.as — Clip para visualizar una cantidad entera — ProInf.net 2010
  3.  
  4.   Consiste en una serie de clips dígitos a los que se accede de forma individual
  5. */
  6. package
  7. {
  8. import flash.display.*;
  9. import flash.events.*;
  10.  
  11. public class Digitos extends MovieClip
  12. {
  13. // PROPIEDADES --------------------------------
  14.  
  15. private var _valor:Number;
  16. private var _digitos:Array;
  17. private var _ceros_izquierda:Boolean;
  18.  
  19. // INTERFAZ -----------------------------------
  20.  
  21. public function get valor():Number {
  22. return _valor;
  23. }
  24. public function set valor(nuevo:Number):void {
  25. _valor = int(nuevo) % 1000000;
  26.  
  27. var cantidad:Number = _valor;
  28. for each (var digito:MovieClip in _digitos) {
  29. digito.gotoAndStop(1+cantidad%10);
  30. cantidad = int(cantidad/10);
  31. }
  32.  
  33. if (!_ceros_izquierda) { // Apagar los ceros a la izquierda
  34. var cero:Boolean = true;
  35. for (var i=_digitos.length-1; i>=0; --i) {
  36. cero = cero && _digitos[i].currentFrame-1 == 0 && i!=0;
  37. _digitos[i].visible = !cero;
  38. }
  39. }
  40. }
  41.  
  42. // CONSTRUCTOR --------------------------------
  43.  
  44. public function Digitos() {
  45. _valor = 0;
  46. _ceros_izquierda = true;
  47. _digitos = [unidades, decenas, centenas, miles, decenas_miles, centenas_miles];
  48. for each (var digito:MovieClip in _digitos) {
  49. digito.gotoAndStop(1);
  50. }
  51. }
  52.  
  53. } // class Digitos
  54.  
  55. } // package

Proinf.net