Nov 10, 2008

Al contrario que en el 2007, donde todo lo que hice en CS3 y AS3 fue en solitario, durante este año he trabajado en varios proyectos en equipo, tanto con compañeros de mi agencia como estudios o freelances. En general, me considero bastante flexible a la hora de trabajar con otros programadores y no intento imponer nada (y más en el mundillo Flash, donde hay mil maneras distintas de alcanzar un objetivo), pero aún así, he llegado a la conclusión de que hacen falta una serie de “buenas prácticas” para que el proceso no sea un sufrimiento para el resto.

Los puntos que voy a explicar me parecen igual de válidos si se trabaja solo, pero obviamente la repercusión es mucho menor porque no afecta a nadie más. Y con trabajar en equipo no me refiero sólo a dos o más personas simultáneamente, sino también aquellos desarrollos que un día empieza uno y luego ha de continuar otro.

Continuar leyendo »

Posted in Artículos 14
Oct 27, 2008

Empecé a hacer mis primeros pinitos en Flash allá por el 2001, y hasta principios del 2004 el tema del framerate fue un factor completamente irrelevante para mí. Tanto que no fui consciente hasta mucho tiempo después, cuando recuperé las películas y vi que todas corrían a 12 fps (el valor por defecto del programa). Sólo una web cuyo esqueleto había iniciado un diseñador funcionaba a 20 fps.

En marzo de 2004 me sumé al proyecto Mahou en Herraiz&Soto, y la web corría a 15 fps. Nueve meses después lanzamos una nueva versión del site que lo hacía a 25 (supongo que los diseñadores y animadores meterían mucha presión).

Durante el 2005 y parte del 2006 todas las películas que trabajábamos en la agencia solían correr a 25 frames, pero luego un compañero empezó a utilizar como cifra mágica el 31, ya que había oído el rumor que las películas a 21 y 31 funcionaban mucho más optimizadas. Recuerdo que me parecía completamente absurdo, pero el resto de gente fue pasándose a los 31, menos yo, que me pasé a los 30 (pa chulo yo xDD)

21,31… el framerate mágico

Durante algunos años el Flash Player funcionó rematadamente mal en Mac debido a un bug del sistema operativo (los temporizadores eran imprecisos y los cálculos se resentían disminuyendo el framerate). Resultó que un framerate de +1 ayudaba a cuadrar las operaciones y el rendimiento del Player se asemejaba entonces al que tenía en Windows.
Lo gracioso fue que este error fue subsanado con el Flash Player 6, pero el rumor del “número mágico” continuó extendiéndose.

En el 2007 ya me había bajado del burro y utilizaba 31 frames en todos mis proyectos. Sólo con la salida del Player 9 y AS3, con su gran incremento de rendimiento, me decidí a cambiarlo. Así pues, para mi primera aventura en AS3 utilicé 60 fps. Era un site que combinaba mucha animación y programación, y la verdad es que me decepcionó un poco porque en el navegador, a pesar de verse más o menos fluido, caía muchísimos frames. Con tanto bombo que le habían dado a la AVM2 creí que rendiría mejor.

Después de esto volví a los 31 y hasta el día de hoy todo lo hago con este valor. Considero que una peli que funciona entre 25 y 30 frames es ideal, y ya en algún artículo he apuntado que al correr un swf en el navegador suele caer 2 o 3 frames, así que 31 menos la pérdida da un muy buen resultado.

Pero la gran sorpresa que no me llevé con el Player 9 me la he llevado con el 10: no sólo no pierde frames sino que llega a marcar alguno de más y todo. He probado todo tipo de experimentos, y algunos que consumen muchos recursos y en el navegador bajaban hasta 24/25, ahora se quedan tranquilamente oscilando entre 31/32.

Han sido muchas las veces que he abierto un proyecto en Flash y he pensado “¿Qué framerate utilizo?”, y por más años que pasen parece ser que esta pregunta seguirá ahí.

Y tú, ¿tienes alguna preferencia a la hora de elegir framerate?

Posted in General 6
Jul 27, 2008

Hace ya varios años, en una época en la que la web estaba poblada de páginas estáticas y todo el movimiento se reducía a los gif, un programa llamado FutureSplash consiguió sorprender a todos por su increíble capacidad para la animación.

Emulando el sistema de cinematografía, basado en proyectar fotogramas de forma rápida y sucesiva para lograr la sensación de movimiento, FutureSplash incorporaba una linea de tiempo en la que se podía dibujar frame a frame para reproducir luego la película.

Un año más tarde, ese revolucionario programa fue adquirido por Macromedia y nació Flash 1.0, para acabar evolucionando actualmente en Flash CS3, de la mano de Adobe. Y por sorprendente que parezca, nueve versiones después, la filosofía para generar animación se ha mantenido intacta.

Al margen de la animación tradicional en linea de tiempo, la otra forma de generar animación es mediante código, y en ActionScript sí que ha ido evolucionando el tema:

  • En Flash 5 se introdujo el archiconocido enterFrame.
  • En Flash MX nos obsequiaron con setInterval (lo recuerdo como una gran novedad).
  • Y ya en AS3, se ha apostado por la clase Timer como sucesora de setInterval.

Así pues, en Flash 5, para animar mediante código se utilizaba enterFrame, pero con la introducción de setInterval la comunidad empezó a dividirse entre partidarios y detractores de uno y otro sistema. Es fácil encontrar discusiones en blogs, foros y listas sobre este tema, y personalmente he perdido la cuenta de cuantas veces he debatido sobre ello.

En este artículo vamos a estudiar la clase Timer (setInterval está desaconsejada, pero la lógica se puede aplicar igualmente) y el evento enterFrame, con la esperanza de poder definir cuándo es mejor usar una u otra.

Continuar leyendo »

Posted in Artículos 8
May 24, 2008

Renderizar es el proceso de generar en pantalla una imagen a partir de unos datos. El responsable de representar por pantalla todo lo que sucede en una película Flash, tanto en el escenario como en el código, es el sistema de renderizado del runtime.

Debido a que ActionScript es un lenguaje 100% visual, tener un conocimiento profundo de este proceso nos ayudará a la hora de escribir y optimizar nuestro código, y evitará que cometamos errores normalmente difíciles de detectar.

En este artículo veremos cómo funciona.

Continuar leyendo »

Posted in Artículos 13

Lo más visto del Lab

Top