Shift F12

Icono

Compendio de recursos para hacer magia en Flash y ActionScript :: por Héctor Padilla

Motor para creación de juegos en Flash – PushButton Engine

pushbutton

Esto es algo que no puedo esperar a que salga: pushbutton engine. ¿Por qué?… Pues bueno, por un lado porque hago juegos en Flash y siempre estoy al tanto de estas herramientas. Y por otro porque lo que promete es genial: integración con box2d, inteligencia artificial, librerías para el manejo de tiles, mapas, etc (y tambien hablan de integración con PaperVision3D por ahí). Es decir: es un engine que ya traerá manejo de muchas cosas importantes como:

  • Inteligencia artificial
  • Mapas (tiles)
  • Fisica
  • 3D
  • Manejo de audio
  • … etc

Y lo mejor-mejor es que es el mismo equipo fundador que inició GarageGames, porque juran que el futuro de los juegos esta en Flash y en la red (llevo tiempo ya diciendo eso). Claro, siempre habrá lugar para las consolas como el 360 y super gráficas. Pero el mercado casual en línea va para arriba, y la gente prefiere pagar muy poco (o nada) por juegos en línea que gastar 60 dolares por un juego de consola. Eso sobre todo con la economía actual. Anyway… El hecho de que Jeff Tunnel está detrás del proyecto habla de mucha seriedad. No creo que sea gratis, pero sí creo que valga la pena cada centavo que cueste. Y los engines de estos tipos nunca han sido caros. :-)

Filed under: AS 3, Herramientas, juegos, Librerías, , ,

3D con ActionScript – Nueva versión de Away3D

Tiene rato que Away3D se ve poca madre, pues bueno, su nueva versión no nos decepcionará!.

El único problema que le veo?… NO TENER TIEMPO para poder jugar más con esta herramienta!… he he he. Espero que llegue pronto un proyecto pagado en 3D que justifique meterme 100%. Por lo pronto todos ustedes: disfruten!.

Filed under: AS 3, Flash, Herramientas, Librerías, ,

Fractales con ActionScript3

El artículo de Gamasutra sobre juegos procedurales me hizo retomar la idea de fractales, y al ver mis notas me topé con este excelente recurso que no he compartido:

fractales

De qué nos sirven los fractales?. Pues bueno, por un lado se ven preciosos, pero por otro lado (más interesante para nosotros) nos ayudan a generar mucho MUCHO contenido, por ejemplo, podemos popular un bosque de árboles creando una funcion que haga árboles y sus ramas con una serie de Math.random por aquí y por allá, y todos los árboles serán completamente diferentes.

Últimamente están saliendo juegos cuyos niveles son 100% generados de esta manera, en lugar de que alguién diseñe los niveles, un programador diseña reglas y el universo es creado en tiempo real y siempre diferente.  (de eso habla el artículo de gamasutra) :-) Por ejemplo, vean aquí esta idea aplicada a la creación de relámpagos!

Algunos links que vienen al caso:

 

Disfruten!

Filed under: AS 3, Flash, Herramientas, Inspiracional, Librerías, , ,

Cómo instanciar objetos de cualquier tipo dinámicamente

En el post anterior definimos ¿cómo crear variables de manera dinámica?, es decir, si tengo que poner 100 nubes en el cielo, en 100 posiciones diferentes, de qué manera puedo crearlas todas dentro de un ciclo for, en lugar de ponerlas a mano. Ok, pues eso ya está resuelto en el post anterior.

Lo de ahora es un poco más complicado, qué tal que no solo quiero crear nubes, sino que quiero crear todo el contenido que hay en un mundo virtual dentro de ese ciclo?. Qué tal que el mundo está definido en un archivo externo (xml?), y ahí se marca la posición de: enemigos, obstaculos, escaleras, etc. Y cada tipo de objeto tiene su propia clase… ¿cómo demonios puedo meter todo eso dentro de un ciclo for?…

Ahora la clave está en «getDefinitionByName», digamos que todos los elementos del mundo están en un arreglo bi-dimensional llamado «elementos[][]», y tiene algo asi:

elementos.push([«arbol», 0, 10, 50]);
elementos.push([«arbol», 0, 20, 30]);
elementos.push([«nube», 10, 20]);
elementos.push([«nube», 30, 20]);

Como verán, ahí hacemos referencia a dos tipos de objetos: arboles y nubes, y entre ellos pueden tener más o menos atributos. Lo que nos interesa es que en su primer elemento hagan referencia al tipo de objeto que son. Despues, dentro de nuestro ciclo podemos hacer lo siguiente:

var ClaseGenerica:Class = getDefinitionByName( elementos[i][0]) as Class;   
var cosa:Sprite = new ClaseGenerica(elementos[i][0], elementos[i][1], elementos[i][2]);
cosa.name = elementos[i][0] + i;
// así se llamaría nube1, nube2, arbol3, arbol4… etc 

Eso de «getDefinitionByName( elementos[i][0]) as Class » toma las palabras «arbol» o «nube» y lo utiliza como si fuera una clase… Nota: para que esto funcione la clase «arbol» o «nube» deben de existir junto con tus otros archivos, y deben de recibir como argumentos del constructor lo que indicamos en: ClaseGenerica(elementos[i][0], elementos[i][1], elementos[i][2]);  La manera más fácil de verlo es que en lugar de «ClaseGenérica» ahí dice «nube» o «arbol» o cómo sea que se llame tu clase. :-P

Y listo!… Tiene sentido?… Cualquier duda porfavor mándenme un comentario. Esto es MUY últil para varios proyectos, pero es complicado de manejar la primera vez. :-) Ya con algo así, puedes hacer que un arbol una vez iniciado comience a producir fruta por ejemplo, mientras que una nube comienza a moverse o a crear lluvia… o qué se yo. Clases independientes, pero todas instanciadas dentro del mismo ciclo. Esto reduce el número de líneas de nuestro código y aumenta la facilidad de darle mantenimiento. :-D

 

Extra: Recomiendo también ver este post para ahorrarse futuros dolores de cabeza.

Filed under: AS 3, Flash, Herramientas, , , ,

Crear variables dinámicamente con ActionScript 3

¿Cómo crear variables de manera dinámica en AS3?… Es una MUY buena pregunta y hace poco me estuve rompiendo la cabeza por no tener ni idea de cómo hacerlo. Ojalá este post te ayude a ahorrar tiempo y sacar el trabajo adelante.

La clave?!?!… El .name de tus objetos!… Así es, en AS2 podíamos fácilmente crear N objetos con nombres diferentes (por ejemplo: objeto1, objeto2, objeto3… etc). En as 3 eso no se puede tan directamente, lo que debemos de hacer es creare objeto.name = 1, objeto.name = 2, objeto.name = 3… Igual este código ayuda a explicarnos mejor:

 

var cosa:Sprite;
 
cosa = new Sprite();
cosa.name = «arbol» + 1;
addChild( cosa );
 
cosa = new Sprite();
cosa.name = «arbol» + 2;
addChild( cosa);


Y así ya creamos dos objetos «cosa» con nombres «arbol1» y «arbol2», es sencillo meter esto dentro de un ciclo «for» e instanciar cientos de objetos cambiando el nombre de manera incremental. Ya creado, ¿cómo lo acceso?… Pues fácil, con:

 

getChildByName( «arbol» + 1 )  


Y listo!… Ojalá te ayude y ahorre algo de tiempo haberte topado con este post. :-)

Extra: Recomiendo también ver este post para ahorrarse futuros dolores de cabeza.

Filed under: AS 3, Flash, Herramientas

Otro engine para 3D con ActionScript 3 – FIVe3D

Five3D es un proyecto que se vé bastante prometedor: sencillo y elegante. Cada vez he visto más demos y tutoriales de personas que comienzan a usarlo y vale la pena tenerlo en la mira.

(demo de Five3D con código fuente incluido)

Filed under: AS 3, Flash, Herramientas, Librerías, , ,

Más recursos para hacer tu Galería de Imágenes en Flash con ActionScript

Me topé con una galería muy interesante en 3D, tú puedes alimentarle tus propias imágenes de manera dinámica y se ve poca madre. Este es un demo. Impresionante no?… El problema es que no es gratuita… Si quieres utilizarla debes de pagar 25 dólares, si estas haciendo un proyecto pagado por un cliente DEFINITIVAMENTE los vale, dejarás a tu cliente con la boca abierta!.

Ahora, si no tienes el presupuesto, encontré dos recursos muy interesantes y GRATUITOS para que puedas armar una galería muy padre en tus proyectos.

1. FlashCube: Es una manera padre de presentar tus imágenes… No es una presentación en 3D pero es una idea interesante, además el autor nos esta dando el código fuente para poder trabajar con ella!. :-)

2. TiltViewer: Este esta POCA MADRE… Velo funcionando!. La manera en que se cargan las imágenes y hace Zoom cuando das un click se ve muy muy bien. :-) Cuando estas en zoom viendo una imágen, si le das click al iconito en la esquina tu imagen «gira» y puedes ponerle ahí datos de texto describiendo tus imágenes! (buena manera de presentar un portafolio por ejemplo). :-D

TiltViewer tiene un montón de opciones para personalizar tu galería: desde seleccionar tu stream de fotos de tu cuenta de flickr hasta jalar las imágenes por un archivo XML. Aquí puedes ver todas las opciones.

Filed under: Flash, Herramientas, Librerías, , , ,

Dibujar árboles con ActionScript y Recursividad…

Este post describe una técnica bella… Se me ocurren programas y experimentos en los que la gente define el número de árboles, los colores… Se puede todo ir animando mientras crece y verse muy muy padre. Lo mejor?… El post describe muy bien la técnica y es fácilmente replicable, como todo: no es tanto lo complicado de la idea, sino la genialidad de haber pensado en ella.

Incluye el código fuente y una referencia al código fuente de un experimento de «varices» tambien muy padre visualmente.

Filed under: Flash, Herramientas, Tutoriales, , ,

Animando un Camino (Carretera) en 3D con ActionScript y Pv3D

(click a la imagen para ver el demo)

Cómo hacer para que nuestro usuario experimente el estar siguiente un camino en una carretera?… Este tutorial es la respuesta. Incluye código fuente!.

Filed under: Flash, Herramientas, Librerías, Tutoriales, , ,

Herramientas Flare – Librerías para visualización con ActionScript 3

Esta es una librería muy MUY chida para gente que esta haciendo trabajo de visualización con ActionScript 3… ¿Qué es eso?… Pues bueno, en realidad «trabajo de visualización» suena medio loco, pero no es nada complicado, básicamente es mostrar datos de manera visual. Hacer una gráfica en excell con tus datos ya es realizar una «visualización»… Ahora, lo interesante es que con los efectos que tenemos disponibles de Flash, y el tipo de datos a los que tenemos acceso hoy en día, se pueden hacer visualizaciones MUY padres. :-D

Aquí esta la librería.

En el demo puedes ver efectos de todo… Desde humo hasta un árbol de datos con nodos padre e hijo. Hay un buen tutorial y todo un API para sacar nuestros proyectos adelante.

Filed under: AS 3, Herramientas, Librerías, , , , , ,

Ligas + nuevas

Páginas

Archivos

El Autor

Tengo como 10 años trabajando profesionalmente en Flash. Todo comenzó cuando tomé un taller de Flash 2 y me dí cuenta que era el entorno perfecto para mí (devigner empedernido).
Disfruto los problemas de programación y disfruto diseñar y crear experiencias interactivas visuales chidas. Flash era la mezcla perfecta para mí, y se ha mantenido siéndolo por todo este tiempo. En aquel entonces ni se mencionaba "ActionScript", hoy en día ActionScript 3 no deja de sorprenderme... Cada día hay algo más que aprender y la neta: que chido. :-D
-El Autor: Hector Padilla -

View Héctor Padilla's profile on LinkedIn