Animaciones programadas I: La velocidad

Existen muchas formas de animar, y probablemente la que os voy a contar sea la que menos gente controla. Pero si aprendéis a utilizarla, estaréis en condiciones de crear animaciones interactivas que quedan muy profesionales.
De hecho, estos conceptos son la base de cualquier motor de física de los que se utilizan en los juegos.

Aunque voy a utilizar as3 como lenguaje de programación, los conceptos y el algoritmo serán los mismos para cualquier otro lenguaje. La elección de actionscript tiene que ver exclusivamente con el hecho de que es mucho más rápido y sencillo crear la parte gráfica y nos podemos concentrar exclusivamente en la animación. Si tu lenguaje es otro, y ya sabes como pintar en la pantalla, no tendrás ningún problema a la hora de adaptar lo que te cuento a cualquier otro lenguaje de programación.

Continue reading →

Operaciones matemáticas con ActionScript

En este capítulo veremos como realizar algunas operaciones matemáticas que se utilizan mucho en programación.

Sólo incluiré aquí las fórmulas, el razonamiento o el esqueleto de la técnica para el cálculo: la mayoría de los códigos mostrados no son programas completos que se puedan compilar directamente. Esto quiere decir que hace falta incluirlos adecuadamente en nuestras clases y o bien definimos las variables con los nombres que se utilizan aquí, o cambiamos los nombres, o tendréis que introducir estos códigos en métodos creados por vosotros para realizar estas operaciones (con los parámetros necesarios).
Esto último es un buen ejercicio para practicar la creación de métodos.

Continue reading →

Fundamentos de AS3: Variables, propiedades y tipos de dato

Cuando se crea un objeto, éste queda almacenado en memoria. Pero la memoria no es más que un enorme laberinto de ceros y unos. Necesitamos un mecanismo para localizar cualquiera de los objetos que creamos cuando los necesitemos.
Ese mecanismo, seguro que ya lo conoces, son las variables, y a primera vista puede parecer bastante prosaico. Consiste simplemente en ponerle nombre a los objetos y luego llamarlos por ese nombre.
Pero hay mucho más que eso detrás de las variables y en este artículo vamos a hablar de ello.

Continue reading →

Fundamentos de AS3: Definición de métodos

action
Los métodos son una parte fundamental de las clases. Sin ellos sólo servirían para albergar datos.

Una clase es mucho más que una base de datos. Definen lo que un objeto puede hacer, con sus datos y con los de otros objetos.

Si las propiedades son la información, los métodos son la acción.

En este artículo vamos a ver como definir los métodos de una clase. También aprenderemos como pasarles la información que necesitan, si ésta no está en las propiedades de dicha clase.

También estudiaremos qué hacer para que nos devuelvan información cuando terminan de ejecutar sus acciones, si es que ésto es necesario.

Continue reading →

Fundamentos de AS3: Destripando la clase documento y su constructor. El punto de entrada a un programa

Process-FlowchartToda historia necesita un buen comienzo. Los programas no son precisamente historias pero necesitan un punto por el que empezar a ejecutarse. A este punto se le suele llamar punto de entrada al programa y se corresponde con el lugar de nuestro código fuente en el que escribimos las primeras instrucciones que queremos que se ejecuten. Cada lenguaje tiene su mecanismo particular, pero en los orientados a objetos todos siguen la misma filosofía.

Continue reading →

AS3 Paso a paso: La clase documento en Flash

POO3_ClaseDocumento01_smallToda aplicación necesita un punto de entrada, un lugar por el que empezar a ejecutar el código de nuestro programa. En los lenguajes orientados a objetos este lugar es la clase principal. En Actionscript también se le llama clase documento.

Como todas las clases, la clase documento tiene un método constructor. En las clases normales este método se ejecuta cuando nosotros lo invocamos explícitamente, pero en la clase documento este método es invocado automáticamente cuando se ejecuta el programa, creando así el objeto desde el que se crearán todos los demás.

Veamos como hacerlo en Flash Professional.

Continue reading →

Aire Bueno para Android terminada.

Por fin LG ha dado el visto bueno para pasar su configurador de aire acondicionado a la fase beta. Ya está subido a Google play y no tardará en salir la versión definitiva de forma que se pueda descargar.
Al final, aunque no me gusta mucho, le di una oportunidad a Starling. La verdad es que va muy bien como se puede ver en el video, pero la API me resulta muy incomoda.
Eso de tener que escribir new com.starling.display.Sprite() cada vez que instancias un sprite o un MovieClip es algo con lo que se puede vivir, pero no me parece lo ideal. Aparte, al enmascarar el manejo de display objects tras una API como la de flash es fácil olvidar lo que realmente está pasando de verdad, y acabar teniendo problemas con la memoria de video.
En esto tengo yo también parte de culpa porque he utilizado una versión modificada por mi de FruitFly, que es una librería que sirve para crear los spritesheets dinámicamente a partir de los assets vectoriales almacenados en un swf o un swc. Esto me ha hecho perder de vista en más de una ocasión cuanta memoria estaba utilizando.
Problemillas de desarrollo aparte, la app funciona muy bien como podéis ver en el video.

Mientras que sale la versión definitiva para Android, podéis ver la app para web aquí: http://airebueno.es/, que es igual salvo por algunos cambios en la gráfica. Multiplatform Flash power!!! De hecho también he hecho una versión para windows que estará en los retails de los puntos de venta.

La lista de visualización I

Hasta este momento hemos estando añadiendo instancias de símbolos (que son instancias de MovieClip) a la escena, sin preocuparnos demasiado de como se organizan dentro de ella.

Lo hemos hecho desde la interfaz de Flash, arrastrando símbolos desde la biblioteca, pero también desde el código, usando la función addChild()

De hecho, desde la interfaz de Flash, hemos hecho un uso bastante más avanzado de lo que se denomina la Lista de Visualización, porque hemos anidado unos clips de película dentro de otros; acordaos de la anidación de animaciones que hicimos para crear una pelota botando de un lado a otro de la pantalla.

En la segunda parte de este capítulo, vamos a ver como se hace eso desde el código. Pero para entender bien como funcionan las capas y las jerarquías de objetos en la lista de visualización de Flash, vamos a empezar por lo básico.

Continue reading →

Ejercicios eventos y funciones

Se proponen tres ejercicios para practicar la detección y manejo de eventos de ratón en botones creados con MovieClip. Los dos primeros son obligatorios, el tercero es para nota (no lo intentéis sin haber conseguido el segundo.).

Tendremos que utilizar funciones todo lo que podamos y también repasamos la creación de simbolos con estados y animaciones marcados con etiquetas.
Continue reading →