#007 ActionScript [Q] Tips: recibir valores por flashvars en AS3

El de esta semana es corto, pero necesario ya que es un cambio notable frente al método habitual que estaba establecido para AS2 (donde nos creaba automáticamente una variable con ese nombre en la raiz del documento). Cuando a un SWF le pasamos variables inicialmente por flashvars o por parámetros en la URL, podemos acceder a los mismos de la siguiente manera:

var valor:String = root.loaderInfo.parameters.nombreVariable;

donde nombreVariable es el nombre del parámetro que le pasamos al SWF externamente por flashvars, ya sea desde el OBJECT, EMBED, etc. Hay que tener en cuenta que como todo lo que se recibe externamente por estos métodos, son cadenas de texto a menos que les hagamos la correspondiente conversión.

Archivos ponencias de Grant Skinner

Os iba a hablar de una de las ponencias de Grant Skinner que de la que al ver las diapositivas inmediatamente me he dicho, buen recurso para anotar en el blog… pero es que luego vas a la recopiación que este monstruo de flash tiene, y la verdad, ya puestos… ponemos todas.

Así que aqui os dejamos el enlace a directorio de presentaciones que ha ido dando Grant Skinner, y de las que seguro puedes sacar muchas cosas en claro, de la mano de alguien que tiene bastante clarito esto del Action Script.

Pero ya que me tomé las molestias de fijarme en la charla sobre Resource Managment, cabe decir que es una información valiosísima para entender con ejemplos claros y sencillos mucho de lo que hay detrás del sistema de liberación/gestión de memoria en AS3.

A degustarlo, pero no te apresures a ver si te vas a atragantar… que hay comida de sobra.

Colisiones y motores de física en Action Script

En la vida de un desarrollador flash lo normal es encontrarse con algún proyecto que implica el manejo de propiedades fisicas, como colisiones, escalados, fuerzas, traslaciones, rotaciones… En muchas ocasiones los efectos son sencillos y no es demasiado complicado crear un sistema realista y funcional, pero otras esto no basta.

Somos programadores y no tenemos por qué tener un grado de conocimiento de matemáticas muy elevado (aunque para bien o para mal nuestro mundo gira totalmente entorno a la geometría y trigonometría), así que nunca viene mal tener un aliado de ese lado, en mi caso tengo la suerte de tener un hermano físico, que muchas veces me ha sacado de un apuro, por un signo incorrecto, una interpretación del problema no adecuada… pero no es plan de abusar de la familia.

Seguir leyendo…

#007 ActionScript [Q] Tips: color aleatorio

Este tip ya lo solté por twitter, pero la verdad que como no quiero que pase otro viernes sin daros vuestra ración (que luego me venís con hambre y esas cosas…) pues creo que no viene mal como ejemplo de ultratip.

Resulta que haciendo un tema para una cabecera en el que necesitaba generar unos colores aleatorios se me cruzó la feliz idea de pensar en meterle un random al mayor de los hexadecimales… porque con un poco de suerte las conversiones implicitas que se hicieran en el proceso, podrían cuadrar. Y efectivamente cuadraron, con lo que no se me ocurre mejor manera de sacar un color random que esta:

var colorAleatorio:Number = Math.random() * 0xFFFFFF;

trace('Color decimal: '+colorAleatorio.toString());
trace('Color hexadecimal: 0x'+colorAleatorio.toString(16));

var circulo:Shape = new Shape();
circulo.graphics.beginFill(colorAleatorio, 80);
circulo.graphics.drawCircle(100, 100, 50);
circulo.graphics.endFill();
addChild(circulo);

Espero que os guste, no sirve para casi nada, pero ahi queda. Además este post tiene doble mérito, es el primero desde mi nuevo Mac Book Pro, con el cual espero poder empezar a dar la lata en breve sobre mis experiencias con Objective-C, Cococha Cocoa y desarrollo para iPhone.

Programador, te conocemos!

No he podido evitarlo, he visto el titulo del enlace (Programmers top 10 sentences) y he hecho clic. He visto las 2 primeras frases,

1) WTF!
2) Funcionaba en mi ordenador!

y estaba ya rendido a esta recopilación de las frases mas comunes entre programadores, y que sacan a la luz las miserias más miserables de los que llevamos esta vida de perro. Yo me identifico con las 10, tanto en primera persona, como en tercera, lo cual refuerza mi teoría que la vida del programador es muuuuuy desgraciada… y que cada uno limpie su caca.

Ejemplos AS3 Adobe Devnet para Flash CS4

De vez en cuando no viene mal un poco de material formativo como éste que os presentamos, que viene de la mano de Adobe, y que en su conjunto es un buen recurso para conocer algunas de las partes de nuestro querido AS3.

Un buen puñado de ejemplos y recursos que tocan temas variados como gestión de coordenadas, API de dibujo, anidamiento de movieclips, trabajo con 3D carga de contenidos multimedia, interactividad, e incluso un par de jueguecillos de ejemplo.

Como complemento os dejamos también este link al trabajo con animación en Flash que también nos viene de la mano de Adobe. Material muy interesante y completo para ampliar conocimientos.

Que los disfrutéis!

#006 ActionScript [Q] Tips: contains()

Este tip es muy directo ya que simplemente comentaré uno de los métodos que obtienen todos las clases que extienden de DisplayObjectContainer, ya sean propias o las consabidas Stage, Sprite, Loader y MovieClip.

En realidad lo interesante de esta función es que no solamente funciona para descendientes directos en la jerarquia de la Display List, sino que busca el resultado en todos los descendientes. Veamos un ejemplo:

Seguir leyendo…

#005 ActionScript [Q] Tips: Singleton en AS3

Para los que trabajábamos con clases en AS2, no era raro emplear un Singleton para alguna de ellas, con le objetivo de tener una clase general para toda la aplicación con la capacidad de acceder a ella desde cualquier punto de manera limpia. Con AS2 podíamos declarar constructores privados y dejar un código tal que así:

Seguir leyendo…

#004 ActionScript [Q] Tips: reemplazar elementos de un array

Muchas veces veo como para realizar determinadas operaciones con arrays la gente emplea operaciones de intercambio, recorrido, etc. y no analiza a fondo las posibilidades que nos dan a veces los métodos de la clase Array.

En esta ocasión lo que veremos es cómo realizar inserciones en una posición dada, o intercambios de elementos. Para ello el método splice de la clase Array nos da unas cuantas posibilidades, ya que nos permite eliminar, añadir elementos a partir de una posición dada, intercambiar un elemento existente por otro nuevo, o incluso eliminar un grupo y poner en su lugar otro.

Seguir leyendo…

Agosto es sinónimo de veranito, y por mucho que nos guste lo que hacemos tenemos que aflojar un poco el pie del acelerador, para poder tomar aire y afrontar nuevos retos con energías y frescura. Y una buena manera es aprovechar la calma chicha que hay en agosto de manera generalizada para cambiar nuestro horario, y poder aprovechar las tardes para tener un poco de playa tiempo libre (no me di cuenta de que estoy escribiendo desde asturias…)

La cosa es que nuestro horario durante el mes de agosto será de 09.00 a 14.00 horas, y por las tardes si llamas podemos vaticinar que nadie será el que te responda. Eso no quita que nos dejes un mail, y sigamos en contacto.

Además tenemos planes para el último fin de semana de agosto, por si aun no lo sabéis tenemos una nueva cita con los imprescindibles Talleres de Verano Subflash en Alicante, con lo que el viernes 28 no habrá mucha actividad por la oficina.

Quedaís avisados!