domingo, 20 de julio de 2008

Migrando de AS2 a AS3

Con la llegada de la versión 9 de Flash (llamada CS3), se incorporó una nueva estructura de ActionScript llamada ActionScript 3. Son bastantes los cambios, la diferencia entre AS2 y AS3 es mayor de la que hubo del AS1 al AS2.

Esta nueva estructura es mucho más poderosa que la anterior, pueden realizarse muchisimo más cosas, por algo están saliendo engines 3D (Papervision, Sandy, Sharikura, Alternativa3D) y proyectos bastante interesantes como WiiFlash. Además el desempeño del AS3 es 10 veces más rápido que los anteriores, debido a que el Flash Player 9 incluye la AVM2 (ActionScript Virtual Machine 2).

Estos cambios incluyen modificaciones (menores) en algunas sentencias anteriores o en la desaparición de otras (como la expresión "eval()" que yo tanto usaba). Claro todavía pueden desarrollarse aplicaciones con AS2, de hecho la AVM2 soporta las verisones anteriores de ActionScript y Flash CS3 te da la posibilidad elegir trabajar en un proyecto de AS2, pero estos cambios no son "porque sí", son mejoras significativas, es por eso que es importante conocer y entender el AS3.

El proceso de transición no es difícil, es más una cuestion de "tener ganas", porque a muchos se les hace fácil quedarse en AS2, y es totalmente válido, puede que ni siquiera necesiten las nuevas capacidades del AS3, pero puede ponerlos en desventaja en cierto momento.

Es por eso que para facilitar el proceso de migración a AS3, pongo algunos enlaces útiles provenientes de Adobe:

http://livedocs.adobe.com/flex/3/langref/migration.html
Ésta es mi preferida, en una columna tenemos la sentencia o método en AS2 y, en la otra, su forma en AS3.

http://gskinner.com/talks/as3workshop/
Es una excelente presentación que te introduce a AS3, muestra muchas cosas que han cambiado con ejemplos básicos, esta bastante recomendable.

http://labs.adobe.com/wiki/index.php/ActionScript_3#Documentation
Aquí hay muchos enlances muy útiles, tutoriales, ejemplos y mucha información.

http://livedocs.adobe.com/flex/3/langref/index.html
Ésta simplemente muestra todas las clases de AS3.

http://www.adobe.com/devnet/actionscript/
Tips, cosas básicas y cómo empezar con AS3.

Espero les sean de utilidad.

viernes, 18 de julio de 2008

Uso Básico de Media Display


Comenzamos con un documento en blanco, y presionamos Ctrl+F7 para sacar la ventana de componentes. Ahora arrastramos un MediaDisplay y un MediaController, preferentemente los posicionamos del lado izkierdo... o donde más les guste. Lo ke sigue es nombrar a cada uno de estos dos objetos, hacemos clik sobre el ke keremos nombrar y en la zona de propiedades ingresamos el nombre (identificador), al display en este caso lo llamaremos "elDisplay" y al controller "elController".



1



Ahora damos click al controller y presionamos F9 para abrir la ventana de "Acciones" ke es donde le pondremos el siguiente código


on(load)

{

this.associateDisplay(_root.elDisplay);

}


con esto, como se imaginarán, relaciona el Display con el Controller desde el inicio (para más información consulten la ayuda para saber ke hace exactamente el "on(load)", así cuando haya algo reproduciéndose, los botones del controller afectarán el video.


Ahora agregaremos los botones, ke al presionarlos, reproducirán un video diferente cada uno. Para más chido, nos pirateamos uno de los ke ya vienen incluidos. Arrastramos uno a la parte izkierda, abrimos su ventana de código (F9) y escribimos lo siguiente:


on(release)

{

_root.elDisplay.stop();

_root.elDisplay.setMedia("C:/Documents and Settings/YO/Mis documentos/Cosas/-Flash Videos/slipknot - eyeless.flv", "FLV");

_root.elDisplay.play();


}



2



ke hace esto?, el "on(release)" significa ke las acciones ke están dentro de las llaves se ejecutarán al momento de soltar el botón (obviamente después de presionarlo).


el "_root.elDisplay.stop()" es en caso de ke ya haya algo reproduciéndose, lo detiene.


el "_root.elDisplay.setMedia("C:/Documents and Settings/YO/Mis documentos/Cosas/-Flash Videos/slipknot - eyeless.flv", "FLV");" establece ke el Display reproducirá el archivo "slipknot - eyeless.flv" hay ke escribir toda la ruta (url) del archivo ke keremos reproducir cuando presionamos ese botón (con todo y extensión).


ok, explicaré los parámetros del setMedia, es ubicación_del_objeto_en_la_escena.nombreDelObjeto.setMedia("direccionDelArchivo.extension", "tipo").


la ubicación del objeto en la escena es, ke si está en la escena principal es "_root", si están dentro de un movieclip, por ejempo, sería, "_root.MovieClip_contenedor.elDisplay"



el "tipo" se refiere... al tipo... ja.. pero eske hay de dos opciones, una es FLV ke hace referencia a FlashVideo y la otra es MP3, este parámetro lógicamente depende del tipo de archivo ke se vaya a reproducir. Este último parámetro es opcional y puede ser omitido, sólo en el caso de ke se trate de un FLV, si es un .MP3 debe ponerse.




3



Ahora guardamos el archivo (Ctrl+s), lo nombramos y presionamos Ctrl+Enter para probar lo ke acabamos de hacer, presionamos el boton de la izkierda del archivo en prueba y veremos como nuestro video se comienza a reproducir. Si posicionamos el cursor sobre el Controller, este comienza a desplegarse y aparecen los botones de play, pausa, etc


Lo ke seguiría es agregar más botones, sólo ke cada uno invocando a un archivo diferente, y pues archivos mp3.


Lo demás ya son sólo detalles, por ejemplo, para ke los botones del Controller siempre sean visibles (no sólo cuando posicionamos el cursor sobre él), es seleccionándolo y en "Parameters" en "controllerPolicy" cambiamos la opción a "on", y así, pueden experimentarle con los demás parámetros para cambiarlo.




4



O un loader... para ver ke más hay cheken la ayuda y busken "Media Class", en la seccion de "Components Languaje Reference" viene el tema en específico, con todas las cosas ke le pueden hacer al display.




5