55 desarrolladores Flash

La semana pasada abrí una encuesta para saber qué tecnología Flash está utilizando la gente. Nada complejo… la pregunta era “¿Cuál es la tecnología Flash que utilizas más en el día a día?”. El sondeo lo hice mediante un servicio online y participaron 55 personas. Los resultados fueron los siguientes:

Las conclusiones que surgieron tras cerrar la encuesta acerca del alto porcentaje de desarrolladores AS2 fueron básicamente:

Gracias a todos los participantes y en especial a los que se mojaron un poco más @fernandocomet, @elisma, @wadus, @supremo_tata, @sinsonido, @solisarg

Recortes interesantes iPad vs Flash

Seguro hay muchos más por ahí pero de los que ido captando estos días éstos son los que me han parecido más bien argumentados.

Liquid Components: nuevo set de componentes para Flash CS3

Didier Brun, uno de los colaboradores de ByteArray, está desarrollando un nuevo set de componentes para Flash CS3.
Según se lee en la página del anúncio, la diferencia principal con respecto al set que viene con Flash CS3 es que el set de componentes Liquid Components promete ser muy fácil de skinear mediante imágenes ( 1 estado == 1 imágen ) y que lleva un inspector que permite parametrizar muchas de sus propiedades para apenas tener que escribir código.
El set está en fase alpha privada, si te interesa ser tester puedes contactar con Didier.
Más info en el post del anuncio.

Astra Flash Components de Yahoo!

Yahoo! ha desarrollado una serie de componentes de interfaz de usuario para Flash CS3 y ActionScript 3.
Actualmente la librería contiene:

* Tree
* Menu
* TabBar
* AutoComplete ( campo de texto )
* Charts ( varios tipos de gráficas )

Más info: http://developer.yahoo.com/flash/astra-flash/

Desarrollo de aplicaciones AIR con Flash CS3

La gente de gskinner.com ha desarrollado un panel para compilar aplicaciones AIR desde Flash CS3.
Para los que no utilicen Flex Builder esta es una buena opción.
Creating AIR Projects with Flash CS3

AS3 runtime font embedding

Interesante técnica para incrustar fuentes en tiempo de ejecución.
Runtime Font Embedding in AS3
[via tink]

II Open Source Flash Conference mañana

Mañana a partir de las 15h GMT van a darse una serie de conferencias acerca de los proyectos Open Source más significativos que existen actualmente en osflash.org.
El evento se dará vía internet gracias Adobe Connect.
El enlace a la sala es: https://breeze.itap.purdue.edu/r45637951/

* Open Source Flash Conference
* Enlace a la sala

FlashDevelop 3.0.0 Alpha

Ha salido una nueva versión de FlashDevelop. Ahora con soporte para AS2, AS3 y haXe.
Si no trabajas con Flex Builder, ésta es una alternativa muy recomendable al editor de Flash.
En el post del anuncio hay más información.

SimpleMouseEvents (onReleaseOutside, onDragOut,…)

André Michele ha escrito un wrapper para algunos eventos que ya no forman parte del modelo de eventos en AS3 como son onReleaseOutside, onDragOut, onDragOver, etc…

Enlace al post y descarga:
* SimpleMouseEvents

[how to] crear un botón con AS3

Hoy me han preguntado cuál es la mejor manera de crear un botón con AS3.
Existen varias soluciones extendiendo directamente de la clase flash.display.Sprite, pero si queremos sacar provecho de la nueva arquitectura, la mejor solución es heredar de la clase flash.display.SimpleButton.
Un ejemplo:

/com/joangarnet/controls/ButtonState.as

Actionscript:
  1. package com.joangarnet.controls
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.text.TextField;
  5.     import flash.text.TextFieldAutoSize;
  6.     import flash.text.TextFormat;
  7.     import flash.display.Shape;
  8.  
  9.     internal class ButtonState extends Sprite
  10.     {
  11.         private var btnLabel:TextField;
  12.         public function ButtonState( color:uint, btnLabelText:String
  13.         {
  14.             btnLabel = new TextField ();
  15.             btnLabel.text = btnLabelText;
  16.             btnLabel.x = 5;
  17.             btnLabel.autoSize = TextFieldAutoSize.LEFT;
  18.  
  19.             var format:TextFormat = new TextFormat ("Verdana");
  20.             format.size = 10;
  21.             btnLabel.setTextFormat ( format );
  22.  
  23.             var btnWidth:Number = btnLabel.textWidth + 10;
  24.  
  25.             var bkground:Shape = new Shape ();
  26.             bkground.graphics.beginFill ( color );
  27.             bkground.graphics.lineStyle ( .25, 0x333333, 1, true );
  28.             bkground.graphics.drawRect ( 0, 0, btnWidth, 18 );
  29.             addChild ( bkground );
  30.             addChild ( btnLabel );
  31.         }
  32.     }
  33. }

/com/joangarnet/controls/Button.as

Actionscript:
  1. package com.joangarnet.controls
  2. {
  3.     import flash.display.SimpleButton;
  4.  
  5.     public class Button extends SimpleButton
  6.     {
  7.         public function Button ( btnLabelText:String )
  8.         {
  9.             upState = new ButtonState (0xcccccc, btnLabelText);
  10.             overState = new ButtonState (0xbbbbbb,btnLabelText);
  11.             downState = new ButtonState (0xaaaaaa, btnLabelText);
  12.             hitTestState = upState;
  13.         }
  14.     }
  15. }

/com/joangarnet/controls/ButtonBitmap.as

Actionscript:
  1. package com.joangarnet.controls
  2. {
  3.     import flash.display.SimpleButton;
  4.     import flash.display.DisplayObject;
  5.  
  6.     public class ButtonBitmap extends SimpleButton
  7.     {
  8.         [Embed(source="upStateBitMap.png")]
  9.         private var upStateBitMap:Class;
  10.  
  11.         [Embed(source="overStateBitMap.png")]
  12.         private var overStateBitMap:Class;
  13.  
  14.         [Embed(source="downStateBitMap.png")]
  15.         private var downStateBitMap:Class;
  16.  
  17.         public function ButtonBitmap ()
  18.         {
  19.             upState = new upStateBitMap() as DisplayObject;
  20.             overState = new overStateBitMap() as DisplayObject;
  21.             downState = new downStateBitMap() as DisplayObject;
  22.             hitTestState = upState;
  23.         }
  24.     }
  25. }

EjemploBoton.as

Actionscript:
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import com.joangarnet.controls.Button;
  5.     import com.joangarnet.controls.ButtonBitmap;
  6.     import flash.display.StageAlign;
  7.     import flash.display.StageScaleMode;
  8.  
  9.     public class EjemploBoton extends Sprite
  10.     {
  11.         public function EjemploBoton()
  12.         {
  13.             stage.align = StageAlign.TOP_LEFT;
  14.             stage.scaleMode = StageScaleMode.NO_SCALE;
  15.             var btn:Button = new Button( "Soy un botón" );
  16.             btn.x = 25;
  17.             btn.y = 25;
  18.             addChild( btn )
  19.  
  20.             var btn2:ButtonBitmap = new ButtonBitmap();
  21.             btn2.x = 25;
  22.             btn2.y = 75;
  23.             addChild( btn2 )
  24.         }
  25.     }
  26. }

Podemos asignar cualquier tipo de DisplayObject como estado del botón, como en el ejemplo de ButtonBitmap, que asignamos un *.png embedido.

Next Page →