Flash Player 9 y algunos detalles mas.
Como algunos sabrán el Flash player 8.5 que se encuentra en estado beta, ahora se llamara Flash player 9. Con esto Adobe se evitara conflictos ya que la próxima versión de Flash (Blaze) estará basada en el mismo player.
Además este player tiene muchos cambios que lo diferencian bastante con sus antecesores y por eso es mejor diferenciarlo bien de sus predecesor (8) y darle un numero unico (9). Aquí algunos detalles:
Primero quería mencionar que ahora el player tiene dos virtual machines. Una sirve para correr todas las versiones anteriores, desde la version 1 a la version 8. La otra sirve para correr las versiones 9 en adelante. Esto fue implementado así por que ahora la nueva versión de ActioScript tiene un nuevo bytecode que se diferencia bastante de las anteriores.
También se le agrego un verificador de bytecode que analiza los bytes a medida van bajando y verifica que el bytecode no tenga errores y que sea legitimo. Esto ayuda a resolver los problemas con anticipación.
Esta nueva virtual machine también posee un nuevo garbage collector (recolector de basura) mucho mas inteligente que va limpiando la memoria que no se usa mas en nuestra aplicación.
También existe el JIT (just un time compilation) que lo que hace es transformar las instrucciones que están el en bytecode del archivo swf a código nativo de la maquina. Permitiendo que el código se ejecute mucho mas rápido ya que es nativo en el procesador, el proceso es similar a lo que hace java con su virtual machine.
Otra cosa interesante del nuevo player es que hay una versión para los desarrolladores que es el debug player y que permite ver los errores en la aplicación a medida que van pasando, en tiempo real (runtime exceptions). Esto es increíble ya que facilita mucho la programación.
Por el lado de las librerías de código, ahora tenemos dos librerías muy importantes incomparadas directamente en el player.
Una es el Focus manager. Y la otra es el motor de Eventos (EventDispatcher) que también ahora es parte del player. Gracias a esto todos los objetos que se muestran en la pantalla (ósea que están el la diplayList) poseen los métodos necesarios para trabajar con los eventos debido a que heredan de la clase EventDispatcher.
Bueno para terminar les digo que todo estos beneficios los tenemos si hacemos código en ActionScript 3.0. También prometo que el próximo post no va ser tan freak :)
Cristalab Online 2
El Sábado, 26 de Noviembre será la próxima conferencia de Cristalab (gratis y para todo el mundo). La cual incluirá varios temas interesantes como:
- Chats con soporte de webcam sin servidores, en Flash 8
- Creación de componentes en Flash 8
- Proyectos corporativos de alto nivel con herramientas Open Source en Flash
- Creando sitios web con CSS, XHTML y aproximación a paginas semánticas
- Instalación y primera aplicación en Flash creada en un entorno 100% libre, FAMES
- Bases de datos en Flash 8 con Flash Remoting 2
- Presentación de nuevos proyectos de Cristalab. Y Esto es Cristalab
- Aplicaciones para Internet con Flex Builder 2 y Actionscript 3
Gracias a Freddie y a toda la gente del Clab por organizar este tipo de eventos, y gracias ademas por invitarme ;). Ahí estaré presentando la conferencia de Flex y ActionScript 3
Para mas info visiten Cristalab Online 2, y espero verlos por ahí
Bevel Filter en Flash 8
Bueno siguiendo con el tema filtros acá les pongo un ejemplito de como utilizar el filtro bevel por medio de actionScript. Es similar al post anterior ya que puede generar un código base para luego utilizarlo en alguna aplicación.
Ver ejemplo online (se necesita Flash Player 8)
Drop Shadow en Flash 8
En este ejemplo voy a mostrar como se hacen los Drop Shadow de forma dinámica por medio de ActionScript. El ejemplo en si es una pequeña herramienta que permite modificar todas las propiedades que tiene el Drop Shadow.
Un vez que encontramos el efecto deseado podemos genera el código de dicho efecto pulsando el botón "code". El código que produce esta diseñado para ser copiado y pegado en un .fla vacío. En síntesis lo que hace es crear un objeto DropShadowFilter y un MovieClip y luego aplicarle el filtro al MovieClip.
Ver ejemplo online (se necesita Flash Player 8)
Color picker simple en Flash 8
Bueno siguiendo el tema del color picker aquí les tengo uno mas pequeño y simple. En este ejemplo se pueden dibujar cuadrados del color elegido. Para verlo necesitan el player 8 :D.
El código esta en una .as file externa y seria algo así aunque un poco simplificado
import flash.display.BitmapData;
import com.asfusion.events.LazyDispatcher;
class ColorPickerSmall extends LazyDispatcher
{
private var btmp:BitmapData;
private var clip:MovieClip;
private var field:TextField;
private var bitmapLibrary:String = "palette";
function ColorPickerSmall(handelClip, level)
{
btmp = BitmapData.loadBitmap(bitmapLibrary);
clip = handelClip.createEmptyMovieClip("colorPicker",level);
init();
}
function init()
{
var owner = this;
var palete = clip.createEmptyMovieClip("palette",0);
palete.attachBitmap(btmp, 0, "auto", true);
palete.useHandCursor = false;
palete.onPress = function()
{
this.onMouseMove = function()
{
owner.onMouseMove(this._xmouse, this._ymouse);
}
}
palete.onRelease = palete.onReleaseOutside = function()
{
delete this.onMouseMove;
}
}
function onMouseMove(x,y)
{
colorChanged(btmp.getPixel(x, y))
}
private function colorChanged(color:Number):Void
{
dispatchEvent({type:"change", target:this, value:color});
}
}
Como verán estoy heredando de el event dispatcher para poder hacer mandar el evento change. Asi luego puedo tener un listener que escuche los cambios de color que se producen en el componente
var myColorPicker:ColorPickerSmall = new ColorPickerSmall(clip, 0);
function colorChanged(event):Void
{
color = event.value;
}
myColorPicker.addEventListener("change", colorChanged);
Ver ejemplo online (se necesita flash player 8)
Note for English speakers:I posted this in my English feed by mistake and mxna indexed it. Sorry for the trouble :D
beginBitmapFill en Flash 8
Este nuevo método del MovieClip era algo esperado por varios :D, ya que nos brinda la posibilidad de llenar un fondo de un movieClip con una imagen en forma dinámica por ActionScript. En este ejemplo uso un imagen de la librería (pattern)
de la misma forma en que lo mostré anteriormente pero en vez de usar attachBitmap, usamos beginBitmapFill para pintar un movieClip
Este es el código que esta en el primer frame:
import flash.display.BitmapData;
var initial_x;
var initial_y;
var bmpd:BitmapData = BitmapData.loadBitmap("pattern");
this.onMouseDown = function()
{
initial_x = _xmouse;
initial_y = _ymouse;
this.onEnterFrame = function()
{
this.clear();
matrix = new Matrix();
clipped = true;
smoothing = true;
beginBitmapFill(bmpd, matrix, clipped, smoothing);
moveTo(initial_x, initial_y);
lineTo(initial_x, _ymouse);
lineTo(_xmouse, _ymouse);
lineTo(_xmouse, initial_y);
lineTo(initial_x, initial_y);
endFill();
}
}
this.onMouseUp = function()
{
delete this.onEnterFrame;
}
attachBitmap y loadBitmap en Flash 8
Este es un ejemplo bien sencillo que usa dos nuevas funciones. La primera attachBitmap que es parte de la clase MovieClip y nos permite adherir (attach) un bitmap al movieclip, es parecido a attachMovie pero lo hace con bitmaps. La otra función es loadBitmap que nos permite cargar una imagen que esta en la librería a la memoria. En este caso yo tengo un png
en la librería que en el "linkage" esta exportado para ActionScript con el nombre "circle.png". Luego tengo el siguiente código en el primer frame:
import flash.display.BitmapData;
var btmp:BitmapData = BitmapData.loadBitmap("circle.png");
var level = 0;
this.onMouseDown = function()
{
var clip = this.createEmptyMovieClip("bmp"+level,level++);
clip.attachBitmap(btmp, 0, "auto", true);
clip._x = _xmouse - clip._width/2;
clip._y = _ymouse - clip._height/2;
}
Blend Modes en Flash 8
Este es un ejemplo que muestra los diferentes tipos de blend modes que posee el nuevo Flash 8 ( muy similares a los que trae photoshop por cierto). Los blend modes se pueden aplicar a cualquier movieClip ya sea por medio de ActionScript o directamente en el programa desde el panel de propiedades.
Para este ejemplo he creado un movieClip con el nombre "fusion" (el cual es que se desplaza con el ratón) y un comboBox con el nombre "blend" el que posee la lista de blend modes. Luego en ActionScript tengo el siguiente código, como verán es bien sencillo el tema:
fusion.startDrag(true, 145, 20, 340, 460);
blend.dataProvider = [ "normal", "multiply", "screen",
"lighten", "darken", "difference",
"add", "substract" ,"invert", "alpha",
"erase", "overlay", "hardlight","layer"];
function onChange()
{
fusion.blendMode = blend.selectedItem;
}
blend.addEventListener("change", onChange);
El blend mode se puede aplicar de dos maneras, con un string o con un numero, en mi ejemplo uso strings por que es mas fácil saber cual es a simple vista. Pero si quieren lo pueden aplicar por medio de números del 1-14
Ejemplos y preguntas sobre Flash 8
Debido a que ya no hay mas secretos sobre Flash 8, porque Macromedia ahora permite que se hable públicamente, los invito a que pregunten sus dudas. Ya sea de código, del programa, los nuevos API, etc... y tratare de contestarlas siempre y cuando sepa la respuesta :D
También si quieren ver ejemplos sobre algo en especial solo diganlo, tratare de hacer ejemplos a medida que me de el tiempo.
Lo único que no podrán ver son screenshots del programa ni tampoco podrán bajarse el .fla (debido a que Macromedia no lo permite hasta que no salga la versión final). Sin embargo el código lo voy a postear en la web y los archivos de los ejemplos se van a poder bajar en Septiembre cuando salga Flash 8.
Bueno eso es todo ahora les toca preguntar a ustedes
Saludos
Color picker creado con Flash 8
Bueno como todos sabrán en septiembre sacaran el Flash 8. Por eso Macromedia a dado el visto bueno para que postemos algunas cosas que hemos hecho y contestemos preguntas referentes al Flash 8.
Aquí les pongo un ejemplo que hice hace tiempo, es un color picker parecido al del photoshop pero menos complejo claro
La fla se la van a poder bajar luego una vez que salga el flash 8 (septiembre) Debido a que macromedia todavía no quiere que distribuyamos las fla files
Listo al fin la preorden de Studio 8
Mucha gente ya lo habra notado en varios blogs y comunidades. Al fin salio la preorden para hacerse de un Studio 8 (al fin regresan a las numeraciones, ya que las simbologías MX, MX 2004 y MX Pro 2004 eran algo confusas para los newbies). Entre las cosas a destacar, son las mejoras de Dreamweaver en cuanto a CSS, estándares y XSTL, que hoy por hoy es el mejor editor WYSIWYG que existe. Además, como muchos notarán, sigue Fireworks. En mi opinión no es una sopresa muy grande, como en otros lados han reseñado (hay otro software que ahora comento que si me sorprendió). Posiblemente lo incluyeron dentro del paquete dado que la compra de Macromedia por Adobe es reciente y el desarrollo del programa estaba muy avanzado. Habrá que ver que sucede en un posible y muy a futuro Studio 9 donde es probable que lo fusionen con el Image Ready que es su competencia directa, y no Photoshop como mucha gente cree. Entre las mejoras de Fireworks esta una muy especial que me gusto mucho y es la capacidad de generarar pop menus completamente en CSS (no mas javascript). En el caso concreto de Flash 8, ya se han hablado de algunas features.
Lo que comenté y que es a destacar, es que incluyeron dentro del Studio 8 al discreto FlashPaper y esto es precisamente lo que más me sorprendió. Porque ? FlashPaper es la propuesta y competencia que creó Macromedia alguna vez contra el popular formato PDF. A pesar de la compra de Macromedia, veo que le estan dando un apoyo muy bueno, ya que son pocas las webs donde veo el uso del FlashPaper.
Y para terminar, lo que no me gusto del Studio 8, fue la incluir a Contribute, el cual en mi opinión es un programa bastante malo que aunque pone al "alcance de todos" la web, considero que hace menos profesional nuestro trabajo.
En fin, aún hay que esperar hasta Octubre para tener en nuestras manos todo este paquete de software. Acuerdense que en Septiembre se cumplieron dos años desde la salida del Studio MX Pro 2004.
Trio Motor un ejemplo de una aplicación hecha con Remoting
Este ejemplo lo he tenido en mi disco duro hace mas de un año y ha estado bastante olvidado. Lo hice cuando salió la nueva versión de flash remoting y en su momento iba a ser la segunda parte de un tutorial para Devnet, pero nunca llego a terminarse. Si bien ya tiene un tiempo creo que seria una pena que termine olvidado en mi disco duro por eso he decidido hacerlo publico.
En esta aplicación usamos ColdFusion para conectarnos vía remoting. Esta todo escrito en ActionScript 2.0, y todo el código es externo, no hay ni una sola linea de código en la fla :)
El código también esta bien comentado ( lo único malo es que esta en ingles ) y también esta publicada la documentación de todas las clases. Otra cosa que pueden encontrar en el código son algunos componentes propios y la utilización del cell render en la datagrid. Bueno eso es todo espero que sirva como ejemplo.
Mirar el ejemplo online
Bajarse el código
Mirar la documentación
Post relacionados
Flash Remoting V2 + Trio Motor V2
Remoting tutorial - consumiendo web services con AMFPHP
klr20mg a sacado un interesante tutorial en el que explica como conectarse por medio de AMFPHP a los Web Services de MXNA
Articulos relacionados
Remoting tutorial
Autentificacion de usuarios con flashremoting
Otro que se certifica
Siguiendo los pasos de Daniel yo ahora también estoy certificado por Macromedia.
Para los que les interese el tema acá hay dos sitios en los cuales se puede practicar, uno es una aplicación hecha en central (certifiable ) y el otro es el que recomienda el libro de estudio. Bueno eso es todo, suerte para el próximo valiente
Post Relacionados:
Al fin certificado
Indignado
Algunos ejemplos en Flash 8
Bueno parece que solo se necesito un dia para que ya encontremos en la web algunos ejemplos con las nuevas posibilidades de flash 8
luminicbox nos muestra como hacer para cambiear los blend modes
klr20mg nos muestra como cargar imagenes como gif, png y jpg progressivos
Franto nos muestra el drop shadow
Y por ultimo quasimondo nos da una herramienta para cambiar el bycode sin necesidad de usar un editor. Asi podremos probar las nuevas posibilidades del Flash 8
Flash player 8 Beta
Si señor ya se pueden bajar el nuevo flash player 8 desde Macromedia
Flash 8
Ultimamente en estos días Macromedia ha empezado a fomentar a flash como un plataforma de desarrollo. La cual tendrá como principal actor a nuestro querido Flash player 8 ( alias Maelstrom ). Esto significa que diferentes productos se basaran en la tecnología flash y se complementaran unos con otros. Por un lado tendremos a Flex que es la mejor herramienta para crear Rich Internet Applications el cual posee su propio lenguaje (mxml) + ActionScript. También saldrá una nueva versión de Flash Communicator Server. Ademas saldrá un nuevo server (Flash Cast) para los teléfonos celulares (ahora se encuentra en beta por dos grandes compañías de teléfonos celulares). Habrá también un nuevo programa (Zorn) que remplazará a Flex Builder y que esta basado en Eclipse.org. En cuanto a Flash Lite, Macromedia planea sacar una nueva versión (alias Deuce) la cual soportara ActionsScript 2 (bye bye flash 4 Code :) ) muy similar lo que es Flash 7.
Ademas como todos sabrán al final de este verano (hemisferio norte) saldrá la nueva versión de Macromedia Flash 8 la cual tendrá varias cosas nuevas y de las cuales tengo algunas imágenes que saque cuando fui a flashforward (tendrán que disculparme la calidad, pero no había luz y no estaba tan cerca). Las novedades son:
Una mejor calidad de texto (Saffron)
Saffron es una nueva tecnología que permite que las fonts (fuentes de texto) se vean muchísimo mejor en la pantalla. Por un lado tienen un sistema de antialiased con una calidad muy buena, y además las fonts se ven bien cuando se las achica ya que se adaptan a los pixels.
Mejores Gradients
Ahora vamos a tener mucho mas control sobre los gradients, y se podrán hacer efectos mas interesantes con ellos.
Mejores strokes
Los strokes ahora pueden tener diferentes "cap" ( puntas, o terminaciones) como round (redondeado) o square (cuadrado) y diferentes "join" (uniones) como bevel, round o miter. Ademas le podemos asignar como color un gradient. En las imágenes siguientes si miran con detalle pueden ver que los bordes usan diferentes estilos.



Filtros similares a los del Photoshop
Los filtros junto con los blend modes creo que van ser el boom entre los diseñadores. Con los filtros ahora vamos a tener la capacidad de crear y animar nuestros movieclips y aplicarles diferentes filtros como: Drop Shadow, Blur, Glow, Bevel, Gradient glow, Gradient Bevel, Adjust Color, Comvolution. De una manera muy similar a Photoshop o After Effect. En la siguiente fotos se ve (medio difuso) el menú donde aparece todos los filtros

Acá por ejemplo se ven los parámetros que se pueden cambiar del dropShadow (pueden ver la imagen en grande también )
Las siguientes fotos muestran un texto dinámico que usa dropShadow, y un monito ( que es una animación) que tiene dropShadow y también bevel. Los dos son modificados por medio de actionScript en tiempo real



En Las siguientes imágenes del perro fueron aplicados diferentes filtros





Blend Modes
Distintos blend modes también se van a por aplicar a nuestros objetos tales como: Layer, Darken, Multiply, Lighten, Screen, Overlay, Hard light, Add, Substract, Difference, Invert, Alpha, Erase.
La posibilidad de cargar jpg progressive, gif y png.
Si gracias Macromedia por esto, por fin podremos cargar png :)
Upload
Otra gran novedad que mas de una estaba esperando, no mas hacks, ahora se podrán subir archivos al server directamente desde flash.
Nuevo video Codec - alpha channel
Por lo que vi, este codec no le va a tener que envidiar nada a quicktime, Ahora se podrán hacer full screen videos con calidad de dvd y un peso bien pequeño . Cabe mencionar acá que la calidad de la imagen me asombro.
Bitmap caching
Bueno este es uno de las mejores innovaciones en el player, ya que va a beneficiar tanto a diseñadores como programadores por que nos permitirá crear una imagen basada en pixels de nuestro movieclip y evitar el recálculo de vectores una vez que la imagen se crea. En otras palabras lo que hace es evitar que en cada frame el player recalcule los vectores del movieclip. Esto permite transiciones mucha mas veloces y movimientos mas suaves.
Graphic API
Para los amantes del código, ahora va a ver un API similar a otros lenguajes como Director, java, etc. que nos permite modificar los pixels en detalle.
E4X
Por ultimo según un post en Flexcoders el flash player tendrá un API basado en en "ECMAScript for XML" o E4X. Supongo que esto alegrara a varios programadores por ahí :)
Como ultimo quiero recomendarles un post de Aral en el que muestra unas fotos del 8 Ball mucho mejor que las mías :D
I'm a weirdo! What the hell Im doing here!
Aquí hay una animación que saque del blog de Innocuo el cual me pareció terriblemente magistral (y eso que suelo poner mas artículos hablando de programación que de arte, aunque yo sea diseñador de formación).
La verdad, la verdad...esta increíble, y pues...el que no quiera verlo, que no lo vea, y el que sí, es porque aún tiene fe en este pequeño blog.
El susodicho link
Eso si...esta un poco pesado, pero tienen un entretenido juego de pong..baaah...la verdad es que me aburrió el juego, y me puse a hacer otras cosas hasta que cargara la animación.
The Flash Platform ( La plataforma flash)
Se han publicado varios artículos interesantes que hablan de lo nuevo que se viene en el mundo de flash. Ahora Macromedia esta tratando de fomentar a flash como un plataforma de desarrollo que esta compuesta de varias tecnologías.
Ademas anuncian una nueva herramienta que nos servirá para el desarrollo de aplicaciones que va estar basada en Eclipse.
Acá los artículos que detallan mas el tema:
Flash Platform
Flash Platform overview (pdf)
Flash Architecture (pdf)
Macomedia y Eclipse
Conferencias en Cristalab
Esto es porque en la conferencia de prueba anoche, donde estabamos unas 6 personas, le comente que estaba en un rancho, que es como una especie de finca familiar. El caso es que habia otro Daniel (si, si...ya se....tira una piedra al azar, y seguramente le darás a un Daniel), y como no le gustaba pronunciar mi nick, pues me apodó Daniel del Rancho.
En fin...mas info de las conferencias aqui.
Cristalab Colombia 2005
Faltan solo 13 días para el gran evento que esta organizando la gente de Cristalab. Freddie y su equipo nos deleitaran con una gran variedad de charlas.
Pero lo mejor de todo es que es gratuito. Sí, escucharon bien: gratis :). Ademas no es necesario estar en Colombia ya que va ser trasmitido online para el resto de los mortales.
Y que estas esperando? registrate ya!!!
Desperdicie tres horas de mi vida por no leer la ayuda de Flash
3 años programando en Actionscript.
2 años dando cursos Flash/Actionscript.
4 meses certificado como developer en Mx 2004...
y aún se me olvida que existe el F1.
Por cierto...ahora que recuerdo Macromedia sigue sin enviarme mis goodies por la certificación. A ver si no me llega con el logo de Adobe en lugar del de Macromedia con eso de la compra ¬¬
Que mala vida, me sentí como todo un novato.
Adobe compra Macromedia
Finalistas en Flash Foward
Disfrutenlo: FlashForward Finalists
Wowwwwwwwwwwww un regalo
Saludos!
Powered by Detroit
Powered by Detroit es una nueva conferencia enfocada a ColdFusion y Flash. Si bien me parece que en el mundo de los desarrolladores latinos Cold Fusion todavía no tiene mucha promocion, hay algunos pocos que si lo usamos y sabemos que flash y ColdFusion hacen una buena dupla :) ( hay alguien mas por ahi?). Será quizá porque los dos estan hechos por Macromedia que se llevan tan bien? Lo que si se es que con Flash Remoting y ahora con las Flash Forms que esta incorporando ColdFusion en su nueva version (Blackstone) las aguas se juntan cada vez mas.
Y para los interesados y aventurados que les guste participar en la conferencia, les cuento que estare presentando una charla de "ColdFusion Flash Forms in Depth" en la cual explicaremos todo lo nuevo que estas Flash Form poseen.
Tambien de la comunidad latina va estar Oscar Trelles presentando Flash - Usability asi que ya estan avisados, para el que se anime.
Accesibilidad en Flash
Feliz año!!!
Flash For Mexico
Ojalá se ponga bueno y exista un poco de seriedad :P
Ya les contare como estuvieron las conferencias, y para los que vayan, nos vemos allá.
Certifiquese con un arma blanca de Macromedia
Componentes dentro del Flash Player?

Hace un par de semanas un alumno mío me pregunto porque algunos de los componentes de Macromedia no venían ya incluidos dentro del Flash Player. De hecho la idea es buena (adivinen a quién sigue sin ocurrirsele?), y si no mal recuerdo en Nomaster hablaron alguna vez acerca de este tema (aunque no logro ubicar el post).
Pequeño adelanto de lo que va a ser el nuevo flash player
Colin Moock nos muestra un video de una conferencia en Japón donde Kevin Lynch hace una demostración de lo que es el nuevo player. Se puede ver en el demo como el flash player incorpora effectos en real time como drop shadow, blur, glow y otros. Ademas mejora mucho la velocidad de ejecución, por ejemplo algo que corria a 14 frames ahora con el nuevo player corre a 125 frames por segundo.
Flash Remoting V2 + Trio Motor V2
Como algunos ya sabrán Macromedia a sacado la nueva versión de Flash Remoting (v2), y si bien a cambiado un poco la sintaxis, el nuevo API es mucho mejor. Encontrarán por ejemplo que varias de las funciones del viejo remoting están fuera de uso ( deprecated ) y es por que un nuevo grupo de clases a tomado su lugar. Ahora nos dan un API más flexible y más cómodo para trabajar. Pero lo mejor de todo es que han mejorado notoriamente la documentación.
Y junto con estos componentes nuevos, también salió un articulo en Devnet (inglés) acerca de la nueva versión de Trio Motor en la que estamos trabajando. Este artículo escrito por mí en conjunto con Mike Kollen es el primero de una serie de tres y se base en el pequeño componente que se encuentra justo antes de entrar a la aplicación principal. En este artículo explicamos algunas de las clases de remoting como Service, PendingCall, Recordset, DataGlue, etc. Pero no cubrimos la parte del componente connector. Pero si también están interesados en ver un ejemplo del component connector, no se preocupen ya que he desarrollado una versión que lo utiliza, pero que al final no incluimos en el artículo. Así que el que guste le puede echar un vistazo. Lo único que tienen que asegurarse es que la GatewayUrl sea la misma que la que tienen configurada en su server. Ahora esta puesta como localhost, pero la pueden cambiar manualmente desde los parámetros del componente.
Muy pronto van a salir los dos artículos que siguen donde desarrollaremos mas la aplicación principal y nos meteremos mas de lleno la programación orientada a Objetos así que estén atentos.
Si surgen algunas dudas no duden en ponerlas en los comentarios.
Flash Remoting (v2)
Articulo en Devnet
Ejemplo del componente connector
Bug en el TextFormat?
En el ejemplo que sigue verán que al apretar el botón "Add Text" el String "is a long" pierde todo su formato ( bold y italic ) cuando el TextField no es del tipo HTML.
Ejemplo:
t = "this is a long text bla bla bla bla bla"; tfield1.html = true; tfield1.border = true; tfield1.htmlText = t; tfield2.html = false; tfield2.border = true; tfield2.text = t; var tformat = new TextFormat(); tformat.bold = true; tformat.italic = true; tfield1.setTextFormat( 4 ,15, tformat ); tfield2.setTextFormat( 4 ,15, tformat ); but.onRelease = function()nota: En el escenario tengo dos textfields con los nombres tfield1 para el HTML y tfield2 para el que no es HTML
{ tfield1.htmlText += " more text "; tfield2.htmlText += " more text "; }
Casting en Flash
Ahora que en ActionScript 2.0 tenemos un lenguaje mas estricto que se encarga de buscar fallas en nuestro código (como por ejemplo problemas al asignar un tipo de variable que no coincide con el tipo esperado) no vemos obligados a utilizar casting en algunas ocasiones. Para los que no saben de que se trata esto del casting ( ni idea de su correlativo en español ), casting es la conversión explícita de un tipo de dato a otro.
Pero el casting en flash no se comporta siempre igual, por eso realicé unas pruebas para las cuales he creado una clase ( Container ) que puede guardar cualquier tipo de data. El Container lo único que sabe es que tiene un Objeto, pero no sabe de que tipo de Objeto es, ademas posee un método getItem() que es el encargado de retornar dicho objeto.
Lo primero que probaremos es tratar de asignar el Objeto que devuelve getItem a una varible de tipo Array, ya que es un Array lo que le pasamos a nuestro container en su constructor.
var c:Container = new Container(new Array());<br />var i:Array = c.getItem(); <br />
Pero al realizar esta operación el compilador salta con un error:
Type mismatch in assignment statement: found Object where Array is required. var i:Array = c.getItem();
Esto es por que él cree que nuestro Array no es un Array sino un Objeto debido a que eso es lo que nuestra clase Container dice que devuelve.Para solucionar esto es que podemos implementar el Casting de dos maneras diferentes, como en el siguiente ejemplo:
1- var i:Array = Array(c.getItem());<br />2- var i:Array = (Array)(c.getItem());
De estas dos maneras logramos que el compilador este contento y que nos asigne nuestro Array obtenido a nuestra variable. Pero no siempre esto funciona debido a que si en vez de querer asignar un data definida dentro del player (como Array , String, Math) queremos asignar un tipo creado por una clase especifíca nuestra, los resultados no son siempre iguales.
Para mostrar esto creé dos clases mas (Item y TestCasting) y traté de asignar lo retornado por getItem, que es un tipo Item, a nuestra variable, como aparece a continuación:
1- var i:Array = Array(c.getItem());<br />2- var i:Array = (Array)(c.getItem());
El problema aquí es que el primer ejemplo corre sin ningún problema pero en el segundo lo que se le asigna a nuestra variable es el valor de undefined en vez del de Item. Por eso es conveniente acostumbrarse a realizar el casting de la primer forma.
He puesto todas las clases incluida la .fla en un.zip así pueden bajarla y correrla más fácil.
Finalistas en flash in the can
Además parece que este festival va a estar muy bueno,(aunque un poco lejos no?) ya que va a haber mas de 80 conferencistas y algunos seminarios, uno de el archiconocido Colin Moock y otro de Grant Skinner que va a tratar temas muy interesantes en cuanto a la programación de grandes proyectos.
Flash in the can web site.
Para el que quiera votar por nosotros aquí lo puede hacer :)
Mas información acerca del seminario de Grant Skinner.
FlashTray Tools
Implementación del List Iterator para Flash
Para mas información acerca de el iterator pueden mirar la documentación en el sitio de sun.
Si quieren bajarse el ejemplo y la clase lo pueden hacer aquí.
Y el que quiera verlo en el navegador lo puede ver acá.









