Archivo de la categoría ‘AS3’

AS3 – Compartir en Twitter

Publicado por Iván Gajate el 7 de febrero de 2011 en AS2, AS3, Flash | 2 comentarios »

Ya vimos como se compartía un enlace en Facebook, y ahora toca Twitter.

http://twitter.com/share?count=vertical&text=Un%20estupendo%20sitio%20para%20aprender%20AS3%20;)&url=http://yporqueno.es

Y nos aparecerá algo como esto:

compartir-en-twitter-as3

La ventaja frente al otro método usando status es que si no estás logado, te redirige al login y luego te escribe el mensaje. Mucho mas intuitivo para los usuarios.

text = El texto que queramos insertar en twitter.
url = [Opcional] La url del enlace que queremos compartir.

Ojo que hay que convertir el texto y la url a html con encodeURI()

Y si queremos poner una almohadilla (#) tendremos que cambiarla a mano (después de lo anterior) por %23 con un:
cadena = cadena.split(“#”).join(“%23″);

Por cierto, mi Twitter es http://twitter.com/#!/ivangajate :D

Forzar Mayúsculas con Restrict

Publicado por Iván Gajate el 5 de febrero de 2011 en AS2, AS3, Flash | No hay comentarios »

Ayer descubrí una cosa por casualidad que tiene su gracia.

Si restringimos los caracteres válidos de un campo de texto con restrict a las mayúsculas, automáticamente nos pasa a mayúsculas el texto según lo vamos escribiendo.

campoDeTexto.restrict = "A-Z";

Esto nos ahora el tener que escuchar el evento CHANGE con un listener y pasarlo a mayúsculas… Interesante descubrimiento.

Conferencias ASNativos 2011

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

Volvemos a la carga en ASNativos con las conferencias de otros años.

Esta vez me he animado y estaré allí el día 25 de Febrero en las aulas de CICE hablando un poco sobre integración de Flash y SEO, para que nuestras páginas tengan una versión navegable y accesible por buscadores y nuevos dispositivos como iPhone, iPad, etc…

Las otras charlas son igual o más interesantes, recomiendo ir.

Se puede asistir presencialmente (plazas limitadas) y online a través de una plataforma de Adobe

Mas info sobre las conferencias.

Nos vemos!!

AS3 – Compartir en Facebook

Publicado por Iván Gajate el 27 de enero de 2011 en AS3, Flash | 7 comentarios »

Para poner el típico botón en una web de “Compartir en Facebook”, basta con poner este enlace:

http://www.facebook.com/sharer.php?s=100&p[url]=http://www.yporqueno.es&p[images][0]=http://www.yporqueno.es/blog/wp-content/uploads/2011/01/compartir_facebook.gif&p[title]=yporqueno.es,%20programaci%C3%B3n%20Flash&p[summary]=Un%20estupendo%20sitio%20para%20aprender%20AS3%20;%29

Y nos pondrá algo como esto:

Tiene varios parámetros como:

[url]: La url que queremos enlazar. En el ejemplo “www.yporqueno.es”.
[images]: La imagen que aparecerá en nuestro comentario. En el ejemplo es el logo del blog.
[title]: El título de la entrada. En el ejemplo “yporqueno.es, programación Flash”
[summary]: El contenido del mensaje. En el ejemplo “Un estupendo sitio para aprender AS3 ;)

Ojo que la imagen la cachea Facebook, es decir que en el momento que hagamos una prueba con foto.jpg si queremos cambiar la imagen, tendremos que cambiarle el nombre para que se refresque.

Para escribirlo con acentos y caracteres extraños, esta es una forma muy cómoda ;)

var url:String = "http://www.yporqueno.es";
var image:String = "http://www.yporqueno.es/blog/wp-content/uploads/2011/01/compartir_facebook.gif";
var title:String = "Un título";
var summary:String = "Un comentario";
var cadena:String = "http://www.facebook.com/sharer.php?s=100&p[url]=" + url + "&p[images][0]=" + image + "&p[title]=" + title + "&p[summary]=" + summary;
cadena = cadena.split("#").join("%23");
cadena = encodeURI(cadena);
navigateToURL(new URLRequest(cadena), "_blank");

En AS3 quedaría así:

navigateToURL(new URLRequest("http://www.facebook.com/sharer.php?s=100&p[url]=http://www.yporqueno.es&p[images][0]=http://www.yporqueno.es/blog/wp-content/uploads/2011/01/compartir_facebook.gif&p[title]=yporqueno.es,%20programaci%C3%B3n%20Flash&p[summary]=Un%20estupendo%20sitio%20para%20aprender%20AS3%20;%29"), "_blank");

Funciona muy bien, gracias Proknil.

AS3 – Validar Fechas con Expresiones Regulares

Publicado por Iván Gajate el 11 de enero de 2011 en AS3 | 1 comentario »

Una de las mejores formas de validar formularios es con expresiones regulares, son rápidas y muy precisas.

Estas las he tenido que utilizar hoy para validar una fecha de nacimiento y un teléfono de España(noventayalgo…) en un formulario, las dejo por si a alguien le vienen bien:

// Comprueba si empieza por 6 u 8 (nuevos moviles) y tiene 9 digitos
function isMobileNumber(data:String):Boolean {
	var exp:RegExp = /^[68]\d{8}$/;
	return exp.test(data);
}

// Comprueba si empieza por 6, 8 o por 9 y tiene 9 digitos
function isTelephoneNumber(data:String):Boolean {
	var exp:RegExp = /^[689]\d{8}$/;
	return exp.test(data);
}

// Comprueba si es un entero del 1 al 31
function isDay(data:String):Boolean {
	var exp:RegExp = /^[123]0|[012][1-9]|31$/;
	return exp.test(data);
}

// Comprueba si es un entero del 1 al 12
function isMonth(data:String):Boolean {
	var exp:RegExp = /^0[1-9]|1[012]$/;
	return exp.test(data);
}

// Comprueba si es un año desde 1900 al 2999
function isYear(data:String):Boolean {
	var exp:RegExp = /^19[0-9]{2}|2[0-9]{3}$/;
	return exp.test(data);
}

Para usarlas solo hay que poner:

trace(isMobileNumber("6203587852")) // true
trace(isMobileNumber("7203587852")) // false

Aunque son algo complicadas de leer, se pueden buscar en Internet con facilidad, hay sitios como este donde se pueden ver muchos ejemplos y hacer pruebas en tiempo real:

http://gskinner.com/RegExr/

AS3 – Realidad Aumentada y Rotación

Publicado por Iván Gajate el 8 de diciembre de 2010 en AS3, Flash | 6 comentarios »

Si estamos haciendo un ejercicio de realidad aumentada y queremos obtener la rotación x, rotación y o rotación z, no es tan fácil conseguirlas como podría parecer en un principio.

Buscando mucho encontré un comentario en un blog donde explicaban cómo obtener los valores a partir de una matriz de transformación, pero era poco práctico de usar y difícil de entender, así que he hecho una clase Marker que simplifica enormemente el proceso de conseguir estos valores (el marker es la plantilla que imprimimos y que es detectada por la webcam).

Ahora es tan fácil como hacer esto, y nos devolverá la rotación en el eje Z (perpendicular al plano del marker) como un número entre 0 y 360 grados:

var angle:Number = Marker.getInstance().rotationZ;

Para aplicarlo a algún objeto, como por ejemplo esta brújula.

Leer el resto de esta entrada

AS3 – Detectar Exit FullScreen

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

Si queremos detectar cuándo nuestra película entra o sale del modo de pantalla completa (fullscreen), basta con escuchar el evento FullScreenEvent:

stage.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen);

function onFullScreen(e:FullScreenEvent):void{
	// Compruebo si estoy saliendo del modo fullscreen
	if(e.fullScreen == false){
		setTimeout(onResize, 50);
	}
}

function onResize():void{
	// Recoloco el escenario
}

Esto es muy útil pues cuando flash sale del modo pantalla completa suele descolocar algunas cosas, así que es un buen sitio para volver a llamar a un método onResize personalizado. Lo del timer de 50 milisegundos es porque si se llama directamente no funciona, hay que esperar un poco :(

AS3 – Hacer un Tween de un Punto.

Publicado por Iván Gajate el 29 de octubre de 2010 en AS3, Flash | No hay comentarios »

Normalmente hacemos un tween de un MovieClip, cambiando sus propiedades x, y, alpha… pero se puede hacer un tween sobre cualquier propiedad numérica de cualquier objeto, como por ejemplo del objeto Point.

var p1:Point = new Point(0, 0);

TweenLite.to(p1, 1.5, {x:200, y:300});

Con esto, podríamos dibujar un paralelogramo que apareciese con un efecto mas interesante que un simple escalado.

Hacer clic sobre la imagen para refrescar:

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

Calculamos la posición de cada uno de sus vértices, con un efecto de rebote. Mientras se ejecuta redibujamos la figura con la API de dibujo de Flash.

Si ese mismo clip lo usamos para enmascarar una foto, el efecto es mejor:

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

Lo mejor es que si esa foto tiene algún filtro, como una sombra o un iluminado interior, el efecto se va adaptando a la nueva forma de la máscara.

Descargar Ejemplo

Z-sorting en Flash Player 10

Publicado por Iván Gajate el 16 de septiembre de 2010 en AS3, Flash | No hay comentarios »

Para ordenar facilmente nuestros clips en el eje Z si usamos Flash CS4 o superior, podemos utilizar esta clase muy interesante de Ralph Hauwert

Usarla es super simple, solo hay que llamar a

SimpleZSorter.sortClips()

cada vez que queramos ordenarlos.

Mas explicaciones en el blog de Lee Brimelow

Descargar la clase SimpleZSorter

Via Jose Luís de Coconnut a través de ASNativos

Sugerir resultados de búsqueda con Levenshtein

Publicado por Iván Gajate el 6 de septiembre de 2010 en AS3, Sitios Destacados | No hay comentarios »

Este tio (HIDIHO) nunca deja de sorprenderme…

Aquí explica cómo mostrar sugerencias de búsqueda para un listado de nombres utilizando la distancia de Levenshtein.

http://en.nicoptere.net/?p=854