videojuegos

Joystick con códigos FLAR

Los códigos FLAR suelen ser utilizados para detectar mediante una cámara una plantilla FLAR de realidad aumentada y posicionar en un espacio 3D el objeto que queremos representar, pero, en nuestro caso vamos a utilizar estos códigos FLAR para construir un "joystick" que será utilizado con la webcam, y será capaz de detectar las posiciones, izquierda, centro, derecha... y las que se os ocurran.

Este sistema lo hemos utilizado para crear el juego Nancy Studio Dance, donde una muñeca real está sobre una peana, con tres códigos impresos, esta muñeca se sitúa delante de la webcam, y a modo de Guitar Hero, pero utilizando la muñeca, se realizan coreografías. El juego va detectando los códigos que nos interesan y simula una pulsación de teclado.

La librería de FLAR puede ser descargada desde aquí: http://www.libspark.org/wiki/saqoosha/FLARToolKit/download con esto ya tendremos todo lo necesario para empezar a detectar las posiciones del joystick.

Aquí existe un generador de marcadores online: http://sixwish.jp/AR/Marker/idMarker/

De aquí podéis bajaros el proyecto en FlashDevelop con comentarios para entenderlo y aprender a usarlo fácilmente: http://www.enriquedavid.es/downloads/PostFlar.rar

Espero que os resulte de utilidad.

Os dejo aquí la clase principal, recomiendo bajar el proyecto entero y trastearlo:


Lee el resto de esta entrada »


Adobe Native Extensions - iOS Mute Button

¡¡AHORA COMPATIBLE CON iOS 64 BITS!!
¡¡NOW SUPPORT iOS 64 BITS!!

Ya tengo lista una nueva extensión que permite enmudecer tu aplicación según el estado del botón de Mute de iPhone o iPad.

Podéis descargarla de aquí: iOS Mute Button Adobe Native Extension
Y aquí podéis acceder a la documentación de la extensión.

-- NUEVA VERSION --

Ahora soporta más dispositivos, por si haces una aplicación compatible con otros sistemas (android, air tv, windows, mac), la aplicación no dará error al tratar de usar la extensión.

Nueva función Mute.dispose(), para eliminar la extensión de memoria cuando ya no sea necesario, recomendado utilizarla antes de cerrar la APP.

- NEW VERSION -

Now supports more devices, if you make an application compatible with other systems (android, air tv, windows, mac), the application will fail when trying to use the.

New Mute.dispose function () to eliminate the spread of memory when no longer needed, recommended use before closing the APP.

Adobe Native Extension - AdMob

Esta extensión ya no existe, he creado una nueva con el último SDK de AdMob y compatible con Android y iOS, puedes ver la nueva entrada aquí: http://www.enriquedavid.es/admob-native-extension-para-ios-y-android.html

----------------------------------------------------------

El uso de las Native Extensions de Adobe permite ejecutar código nativo del sistema operativo donde se ejecute nuestra aplicación.

Para sacar el máximo partido de AdMob con Juegos Flash empaquetados para iPhone/iPad/iPod Touch, es necesario mostrar la publicidad de AdMob de forma nativa, de esta manera se consigue un 100% de efectividad, ya que AdMob muestra la publicidad como de forma nativa, así es capaz de mostrar todas las creatividades disponibles e incluso mostrar AdSense si no tiene anuncios relevantes.

Aquí os dejo un .zip con la extensión y una pequeña ayuda: admob-native-extension.zip

El uso es realmente sencillo:

package {
import com.devilishgames.air.extensions.admob.ios.AdMob;
import flash.display.Sprite;
import flash.geom.Point;

public class adMobExample extends Sprite {
private var adMob:AdMob;

public function adMobExample():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);

try {
adMob = new AdMob(); // Instanciamos la clase AdMob
adMob.id = "ID DE ADMOB"; // Indicar el ID de la APP de AdMob
adMob.size = AdMob.GAD_SIZE_320x50; // Indicamos el tamaño del Banner
adMob.position = new Point(0, stage.stageHeight - adMob.size.y); // Indicamos la posición del banner
adMob.testMode = false; // Decimos que no use el modo test
adMob.showAdMob(); // Mostramos el banner
} catch (e:Error) {
trace(e.getStackTrace());
}
}
}
}

Descripción de la clase:

adMob.id: (String) Cadena con el ID de AdMob
adMob.size: (Point) Punto donde indicar el ancho y alto del banner (.x = ancho, .y = alto)
adMob.position: (Point) Punto donde indicar la posición del banner
adMob.testMode: (Boolean) Mostrar el banner en modo Test o no (por defecto True)
adMob.showAdMob(): (Function) Muestra el banner
adMob.hideAdMob(): (Function) Oculta el banner

Espero que os sea de utilidad.

* a modo de ayuda, menos del 10% de los banners que se muestran serán con un ID mio *

Como guardar datos de forma permanente en Flash (ActionScript 3)

Guardar datos, que permanezcan utilizables incluso cuando se cierra Flash es algo realmente sencillo. Es una buena técnica para guardar los progresos en los videojuegos, puntos, niveles, etc.

Para guardar datos debemos de usar el objeto: SharedObject (más info), esto objeto, entre otras cosas, nos permite guardar variables en disco, para luego poder leerlas y modificarlas cada vez que lo necesitemos.

La forma de guardar los datos

// Importamos la libreria
import flash.net.SharedObject;

// Iniciamos nuestra variable tipo SharedObject
var so:SharedObject;

// Iniciamos nuestro fichero de datos
so = SharedObject.getLocal("/ficherodondeguardamoslosdatos");

// Añadimos un valor (por ejemplo la puntuación)
so.data.puntuacion = miPuntuacionJuego;

// Guardamos los datos
so.flush();

La forma de cargar los datos
// Importamos la libreria
import flash.net.SharedObject;
// Iniciamos nuestra variable tipo SharedObject
var so:SharedObject;
// Iniciamos nuestro fichero de datos
so = SharedObject.getLocal("/ficherodondeguardamoslosdatos");
// Recuperamos un valor (por ejemplo la puntuación)
if (so.data.puntuacion>0) { // Hay que asegurarse que los datos guardados tienen información válida
miPuntuacionJuego = so.data.puntuacion;
}
¡¡Y esto es todo amigos!!

Crear un videojuego Flash - Tema 4 - Animando el MovieClip

4. Animando el MovieClip

Vamos a empezar a utilizar la línea de tiempo para crear animaciones sencillas, como en nuestro caso es una nave espacial, en principio, la única animación que va a llevar es la del fuego de los propulsores. Para ello vamos a dibujar unas líneas para cuando la nave se mueva hacia la izquierda o derecha y un fuego en la cola para que parezca que tiene un motor.


Lee el resto de esta entrada »