Archive for the ‘actionscript’ Category

Gaia Framework, mis impresiones

Miércoles, Julio 9th, 2008

Bueno, prometí en ASNativos que escribiría esto así que aquí están mis impresiones sobre el GAIA framework. Realmente a mi me ha impresionado por varias razones.

(more…)

¡Ya estamos en las tiendas!

Miércoles, Julio 9th, 2008

El libro por fin a salido a la luz y la podeis encontrar en varios sitios, como en el FNAC o en la Casa del libro.

!Espero que os guste a todos, nuestro sudor nos ha costado!

ASNativos cambia de servidor

Jueves, Enero 24th, 2008

La lista de correos dedicada a Actionscript, ASNativos, a pasado al sistema de google groups por el problemas con el mailman anterior. La verdad es que el sistema de Google esta muy bien, pero la migración a sido un poco dificultosa ya que para poder añadir todos los miembros anteriores tenía que pasar una revisión por el personal de Google y estos, finalmente, optaron por enviar una invitación. Si te has quedado fuera puedes usar la dirección de siempre para poder entrar.

Upload con FileReference y Mac

Viernes, Octubre 5th, 2007

Aqui tengo un post cortito de advertencia. Si usais el FileReference para subir un fichero al servidor desde un Mac podeis encontraros con el problema de que el evento onComplete no salta al finalizar, bueno, ni ese ni ningun otro. Dejando la aplicación ‘colgada’, a la espera de que finalize la transacción. Por lo que he visto esto ocurre si la pagina aspx, php o lo que sea, no escribe absolutamente nada en la respuesta (es una pagina sin response body, tecnicamente hablando). Con que escribas ahi cualquier cosa, por ejemplo “eat me, fucking mac”. El trasto se lo traga. Hay que reconocer que es el sitio perfecto para una frase ocurrente y liberadora. Pasa tanto con Firefox como con Safari por tanto no tiene pinta de ser un bug de los navegadores. Asi que alguien en Adobe o Apple me debe unas 5 horitas de su vida. Las apunto a la cuenta. Y tu, que has encontrado en tu desesperación esta página a través de google, me debes unas cañas. También las apunto.

Advertidos quedais ;)

AS3 Arrays (part II)

Miércoles, Agosto 29th, 2007

Como os prometí, voy a poner algun ejemplo más de los nuevos metodos del array en Actionscript 3. Particularmente interesantes son:

map: Ejecuta la funcion en cada uno de los elementos y crea un nuevo array con el resultado. Esto es particularmente útil cuando necesitas hacer una transformación sobre todos los elementos del Array como convertirlos en mayusculas/minusculas, cambiar espacios por guiones o cosas mas complicadas con objetos. Posiblemente es de las novedades que más utilize.

filter: Ejecuta la funcion en cada uno de los elementos para determinar si deben de aparecer en el nuevo Array. Como su propio nombre indica sirve para realizar un filtro determinado sobre los elementos.

Muy interesante tambien la posibilidad de ir combinandolos, el siguiente ejemplo pone en mayusculas la primera letra de los elementos en un Array de Strings, desecha los elementos que no tengan mas de una palabra y los muestra en pantalla.

Actionscript:
  1. <code>
  2. var items:Array = ["turn on the bright lights","antics","our love to ADMIRE"];</code>
  3.  
  4. function capitalize(item:String,index:int,arr:Array):String
  5. {
  6. return item.charAt(0).toUpperCase() + item.substring(1).toLowerCase();
  7. }
  8. function multipleWords(item:String,index:int,arr:Array):Boolean
  9. {
  10. return item.split(" ").length&gt;1;
  11. }
  12. function render(item:String,index:int,arr:Array):void
  13. {
  14. var txt:TextField = new TextField();
  15. txt.text = item;
  16. txt.y = index*20;
  17. txt.width = 200;
  18. stage.addChild(txt);
  19. }
  20. items.map(capitalize).filter(multipleWords).forEach(render);

Genial, ¿no?

Aqui enumero la lista de estos nuevos métodos para que les hecheis un vistazo:

every:
Sirve para determinar si todos los elementos de un array cumplen un determinado criterio o condicion
some:
Parecido a every. En este caso determina si alguno de los elementos lo cumplen
filter:
Crea un nuevo array filtrando los elementos
forEach:
Ejecuta una función por cada uno de los elementos
filter:
Crea un nuevo array filtrando los elementos con la función dada
map:
Crea un nuevo array esta vez transformando los elementos con la función

Bastante útiles todos como podeis ver... ;)

AS3 Arrays: ¿Quién necesita bucles?

Jueves, Julio 26th, 2007

Una cosa que de la que no he oido hablar sobre AS3 es las nuevas caracteristicas de la clase Array, si, nuestro antiguo compañero de andanzas... Que yo cuente tiene por lo menos 7 nuevos métodos que me parecen muy muy interesantes. Tanto que podría decir que usandolos no volveras a escribir un bucle que recorra un Array. Y eso, teniendo en cuenta que el 90% de los bucles que normalmente se escriben se utilizan con Arrays, es mucho decir.

La primera bendición llega con el nombre de indexOf(), seguro que mas de una vez lo habeis utilizado con la clase String, pues básicamente funciona igual solo que busca en un elemento en un Array.

Actionscript:
  1. // Busco y elimino el elemento "dos"
  2. var numeros:Array = ["uno","dos","tres","cuatro"];
  3. numeros.splice( numeros.indexOf("dos"), 1);

Por fin se puede buscar algo dentro un array manteniendo la dignidad, sin la necesidad de un embarazoso bucle :_)

Pero ahi no acaba todo, dados los nuevos closures, se han añadido a la clase Array unos metodos que cogen funciones como parametros y hacen cosas muy utiles. El mejor ejemplo, el forEach, ¿Cuantas veces has hecho un bucle para crear MovieClips por cada uno de los elementos? Me referia a cúantas al dia... ;)

Actionscript:
  1. var nombres:Array = ["uno","dos","tres","cuatro"];</code>
  2.  
  3. function mostrar(item:String,index:Number,array:Array):void{
  4. var tx:TextField = new TextField();
  5. tx.text = item;
  6. tx.y = index*20;
  7. addChild(tx);
  8. }
  9.  
  10. nombres.forEach(mostrar);

Como veis el metodo forEach coge como parametro una funcion y la ejecuta una vez por cada elemento del Array pasandole como argumento el propio elemento entre otras cosas. Realmente me encanta... Más sobre esto en próximos posts.