AS3 – Encriptar en MD5 con as3crypto

Publicado por Iván Gajate el 31 de diciembre de 2011 en AS3, Flash | No hay comentarios »

Si no queremos utilizar la biblioteca AS3corelib para encriptar una cadena, podemos utilizar esta otra biblioteca, AS3Crypto.

(Archivo Flash, para verlo necesitas Adobe Flash Player.)

 

var hash:IHash = Crypto.getHash("md5");
var data:ByteArray = Hex.toArray(Hex.fromString(cadena_txt.text));
var currentResult:ByteArray = hash.hash(data);
var txt:String = Hex.fromArray(currentResult);
encriptada_txt.text = txt;

He incluido una serie de clases para que resulta mas cómodo hacer una encriptación ;)

import es.yporqueno.crypto.*;

MD5.hash("algo que queramos encriptar");
// Devuelve 552e34e08e642682484d82b6321e4809

Descargar ejemplo Encriptación MD5.

 

 

AS3 – Encriptar en MD5 con as3corelib

Publicado por Iván Gajate el 26 de diciembre de 2011 en AS3, Flash | No hay comentarios »

Si queremos encriptar un email, un DNI o cualquier dato sensible podemos hacerlo con as3corelib, una biblioteca de Adobe, y es realmente sencilla de usar.

Tan sencillo como esto:

MD5.hash("algo que queramos encriptar");
// Devuelve 552e34e08e642682484d82b6321e4809

MD5 es una encriptación unidireccional, es decir, que no se puede desencriptar con una clave. Nos sirve por ejemplo para guardar contraseñas en una bbdd, pues aunque se nos cuelen en el servidor, no verían las contraseñas reales. Para validar un login, solo habría que encriptar lo que el usuario escribe y compararlo con lo que tenemos guardado en la bbdd.

(Archivo Flash, para verlo necesitas Adobe Flash Player.)

 

Descargar ejemplo Encriptación MD5.

He incluido un par de clases del paquete mx que son necesarias si queremos encriptar con otros métodos como SHA1, SHA256…
Estas clases no son necesarias si programamos en Flex (mxml).

 

 

El Bucle

Publicado por Iván Gajate el 21 de diciembre de 2011 en AS3, Flash | No hay comentarios »

Sin duda este es el fragmento de código que mas veces he escrito en los 10 años que llevo ya en esto, y quería rendir un pequeño homenaje a este compañero que tanto me ha hecho disfrutar, con su sencillez y flexibilidad.

Felices fiestas a todos.

(Archivo Flash, para verlo necesitas Adobe Flash Player.)

 

// Creo tantos copos como quiera y asigno sus propiedades iniciales
for(var i:uint=0 ; i<50 ; i++){
	var copo:Copo = new Copo();
	copo.x = Math.random()*stage.stageWidth;
	copo.y = 100 + Math.random()*200;
	copo.scaleX = copo.scaleY = copo.alpha = 0.3 + Math.random()*0.7;
	copo.rotationY = Math.random()*360;
	copo.addEventListener(Event.ENTER_FRAME, rotar);
	addChild(copo);
}

// Cada copo se rota a si mismo
function rotar(e:Event):void{
	e.target.rotationY += 3;
}

 

Descargar ejemplo Bucle.

 

 

AS3 – Enviar Variables con LoaderMax

Publicado por Iván Gajate el 3 de diciembre de 2011 en AS3, Flash | No hay comentarios »

Con LoaderMax podemos cargar un swf de forma sencilla, pero si queremos enviar variables a esa peli para luego recuperarlas por su loaderInfo, es igual de sencillo.

Tal y como dicen en la ayuda de LoaderMax, como primer parámetro del LoaderMax, se puede usar o bien el nombre del swf que queremos cargar, o bien un URLRequest. De esta manera es fácil enviar las variables que queramos:

var request:URLRequest = new URLRequest("miPeli.swf");
var data:URLVariables = new URLVariables();

// Variables que quiero enviar
data.nombre = "Iván";
data.id = 4589;
data.email = "micorreo@yporqueno.es";

request.data = data;
request.method = URLRequestMethod.GET;

var loader:SWFLoader = new SWFLoader(request, {name:"peli"});

Nota: Esto nos dará un error si lo probamos desde Flash directamente, pues da un error al intentar encontrar el archivo “miPeli.swf?nombre=Iván&id=4589&email=micorreo@yporqueno.es”.

Hay que probarlo en un html.

AS3 – Clase Dragger

Publicado por Iván Gajate el 1 de diciembre de 2011 en AS3, Flash | No hay comentarios »

He hecho una clase para arrastrar y soltar con inercia.

(arrastrar y soltar con inercia)

(Archivo Flash, para verlo necesitas Adobe Flash Player.)

Sirve para cuando queremos arrastrar una galería de fotos con inercia, o cuando queremos rotar algo pero queremos que al llegar al final vuelva al principio, como si de un carrusel se tratase.

Básicamente es un rectángulo que se puede colocar donde se quiera y recoge los eventos de ratón.

Para utilizarlo:

var dragger:Dragger = new Dragger(800, 600);
dragger.addEventListener(Event.CHANGE, arrastrando);
addChild(dragger);

// Emite un evento Change donde puedo recuperar (de 0 a 1) y usarlo para lo que quiera
function arrastrando(e:Event):void{
	trace(dragger.value);
}

Puedo cambiar sus propiedades:

  • inercia
  • rozamiento
  • umbral
  • width
  • height
  • y hacer un destroy() para limpiar los listeners internos.

Descargar Ejemplo Dragable

AS3 – Cambiar la Dirección de un TLFTextField Dinámicamente

Publicado por Iván Gajate el 24 de noviembre de 2011 en AS3, Flash, Tutoriales | 2 comentarios »

Los campos de texto TLF sirven entre otras cosas para poder escribir de derecha a izquierda. Esto es necesario si queremos escribir en árabe por ejemplo.

Pero si queremos cambiar la dirección de un texto que hemos creado en el escenario a mano, es necesario utilizar este truquito que he visto en http://forums.adobe.com/message/2796609#2796609

(Archivo Flash, para verlo necesitas Adobe Flash Player.)

import fl.text.TLFTextField;
import flashx.textLayout.formats.Direction;
import flash.events.Event;

var tf:TLFTextField = miCampo;

// Trucazo: con esta linea si que hace caso al Direction.RTL ¿?
tf.htmlText = tf.text;

tf.direction = Direction.RTL;
tf.text = "Hola Mundo";


Descargar Ejemplo TLFTextField


Dummy Image

Publicado por Iván Gajate el 18 de noviembre de 2011 en Diseño | No hay comentarios »

Interesante enlace el que me ha pasado hoy Dani.

Es un servicio donde podemos hacer una llamada a una url y nos devuelve una imagen de las características que queramos. Ideal para la típica galería de fotos donde aún no tenemos las imagenes reales y queremos ir haciendo pruebas.

http://dummyimage.com/

Para usarla, por ejemplo solicitamos esta imagen:

http://dummyimage.com/300×250/000/fff.jpg

Y nos devolverá esta imagen:

 

 

 

 

 

 

 

 

 

Se puede incluso insertar un texto:

http://dummyimage.com/150×100/f66e09/fff.jpg&text=thumb_1

Crear Proyectos para Android desde Flash Builder 4.5

Publicado por Iván Gajate el 10 de noviembre de 2011 en eclipse, Sitios Destacados | No hay comentarios »

Buen artículo para crear aplicaciones Android con FlashBuilder 4.5

http://www.adobe.com/devnet/air/articles/packaging-air-apps-android.html

 

 

Crear Proyectos para iOS desde Flash Builder 4.5

Publicado por Iván Gajate el 10 de noviembre de 2011 en Sitios Destacados | No hay comentarios »

Buen artículo para crear aplicaciones para Apple iOS (iPad, iPhone) con FlashBuilder 4.5

http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html

AS3 – Enviar Datos en Raw a un JSON

Publicado por Iván Gajate el 4 de noviembre de 2011 en AS3, Flash | No hay comentarios »

En lugar de enviar los datos en forma de variable a un PHP, podemos enviarlos en la propia llamada al archivo, para leer luego los datos en bruto (“raw”). Esto se suele utilizar para cargar imágenes, pero también puede usarse con variables de texto, o JSON como en este caso.

La diferencia es que no le asigno el valor de lo que quiero enviar a ninguna variable, sino que se lo asigno directamente al data del URLRequest:

var req:URLRequest = new URLRequest("http://localhost/leer_raw.php");
req.method = URLRequestMethod.POST;

var usu1:Object = {nombre:"Iván"};
var usu2:Object = {nombre:"Pepe"};
var usu3:Object = {nombre:"Matías"};

var usuarios:Array = [usu1, usu2, usu3];

// Codifico el Array en formato JSON
var json:String = JSON.encode(usuarios);

// Le asigno esos datos directamente al data del request.
req.data = json;

var loader:URLLoader = new URLLoader();
loader.load(req);

En el PHP puedo acceder al raw de datos directamente y asignárselo a una variable.

<?php
	// Accedo al RAW de datos directamente,
	// no a una variable con un nombre y un valor
	$datos = file_get_contents("php://input");
	// Decodifico los datos JSON para tratarlos como un Array
	$json = json_decode($datos, true);
	echo('nombre=' . $json[0]['nombre']);
?>

Nota: Hay que subir el ejemplo a un servidor que interprete PHP para poder ver los resultados.

Descargar Ejemplo.