Archivo de la categoría ‘Flash’

Adobe Extension Manager se confunde de idioma.

Publicado por Iván Gajate el 28 de febrero de 2011 en Flash | 2 comentarios »

A veces el programa Extension Manager, se confunde con el idioma en que tenemos instalado Flash y nos instala las extensiones en una carpeta equivocada. Este bug hace que luego en Flash CS5 (o CS4) no veamos las extensiones, aunque en Extension Manager si que las tengamos como instaladas.

Para evitarlo tenemos que abrir Adobe Extension Manager desde el programa Flash, en Help > Manage Extensions…

Pero si queremos que no nos vuelva a suceder, podemos solucionarlo borrando unos archivos de nuestro sistema.

En mi mac tengo Flash CS5 instalado en:

Macintosh HD > Usuarios > {usuario} > Librería > Application Support > Adobe > Flash CS5

Ahí debería tener solo una carpeta llamada en_US, y sin embargo tras la instalación de una extensión, me aparece también otra llamada es_ES. En mi caso esa es la mala.

Lo primero que hago es borrarla, y para evitar que vuelva a salir, tengo que borrar unos archivos en:

Macintosh HD > Aplicaciones > Adobe Extension Manager CS5

Ahí le doy botón derecho a Adobe Extension Manager CS5.app y selecciono Mostrar contenido del paquete, me abrirá el paquete del programa y borro los siguientes archivos y carpetas:

Contents > MacOS >ZStringResources >es_ES.xml
Contents > MacOS > Resources > es.lproj

Ahora ya podemos instalar directamente una extensión desde Extension Manager y que luego nos apareza instalada en nuestro Flash.

Esto lo he sacado tras mucho buscar de http://forums.adobe.com/message/3411292

y de aquí, también para Windows.

Deshabilitar el Plugin de Flash Temporalmente

Publicado por Iván Gajate el 21 de febrero de 2011 en Desarrollo Web, Flash, Sin categoría | 4 comentarios »

Si queremos probar por ejemplo cómo se vería nuestra página sin el plugin de Flash instalado (iPad, iPhone, gente sin el plugin instalado o deshabilitado…), podemos deshabilitarlo temporalmente en (Firefox):

Herramientas > Complementos > Plugins

Se activa y se desactiva en el momento, y no hace falta reiniciar el navegador. Ideal para hacer pruebas del contenido alternativo de nuestra web.

En Chrome se puede hacer lo mismo, escribiendo en la barra de dirección:

about:plugins

AS3 – Sustituir un XML con Replace

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

Yo hasta ahora para modificar un nodo de un xml sencillamente lo hacía así:

miXml.item = <item>Texto modificado</item>

El problema me ha surgido cuando he querido meter el nuevo contenido dentro de un CDATA, pues me truncaba el “<” y “>” a formato html, y claro, no funcionaba.

La solución, sustituir el nodo completo con replace:

var miXml:XML = <nodos>
			<item><![CDATA[texto a modificar]]></item>
		</nodos>

var nuevoNodo:XML = new XML("<item><![CDATA[imágen1.jpg]]></item>");
miXml.replace("item", nuevoNodo);

trace(miXml);

//<nodos>
//  <item><![CDATA[imágen1.jpg]]></item>
//</nodos>

Esto viene muy bien cuando el contenido se cambia por el valor de una variable, en un bucle recorriendo todos los nodos.

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.

Suavizado de imagenes en AS2

Publicado por Iván Gajate el 29 de diciembre de 2010 en AS2, Flash | 4 comentarios »

Si queremos escalar o girar una imágen en Flash, para que no se vea el pixelado feo que hace, podemos activar dinámicamente el suavizado de la imagen.

Si tenemos la imágen en un clip de película llamado miClip, basta con poner:

miClip.forceSmoothing = true

Este es el resultado (izquierda no suavizado, derecha suavizado):

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 :(