Oct 7, 2011

Exportando para Flash Player 11 desde Flash Professional

Como ya sabréis todos, esta semana se ha lanzado la versión final de Flash Player 11. Para los que quieran utilizar ya la nueva versión, Adobe ha facilitado instrucciones para compilar mediante Flash Builder o el command-line del SDK de Flex. Aunque no comenten nada de Flash Professional, también es posible hacerlo desde cualquier Flash CSx. Vamos a ver el proceso.

Continuar leyendo »

Mar 4, 2009

Ayuda offline en Flash CS4

Una de las cosas más molestas de Flash CS4 es que la ayuda (F1) es online, se conecta con http://help.adobe.com y a partir de ahí buscar un simple método es una tarea lenta y tediosa. Afortunadamente, la ayuda también se encuentra en local y se puede poner por defecto.

Continuar leyendo »

Sep 19, 2008

Recogiendo variables externas

A pesar de tener poco cero tiempo para dedicarle al blog, no quería dejar de escribir este pequeño tip sobre como se recogen variables externas en AS3. No es que sea nada muy complejo (la verdad es que incluso en la ayuda se comenta), pero me resultó curioso cuando el otro día un compañero me preguntó si lo sabía y me di cuenta que en todo este tiempo tocando AS3 no había tenido necesidad de usarlo… Así que lo documento por si existe por ahí algún despistado como yo :)

Continuar leyendo »

Jul 6, 2008

Habilitar botón derecho en AS3

Es sabido que en Flash Player no se puede utilizar el botón derecho del mouse de forma “propietaria”. Con dicho botón se activa el menú contextual, y aunque se puede modificar, como mínimo encontramos las opciones Configuración y Acerca de Adobe Flash Player 9…

Pues navegando por Google Code me he encontrado un proyecto llamado Custom-context-menu que nos permite utilizar a nuestro antojo el botón derecho. Para ello combina javascript y flash de una manera muy ingeniosa. Básicamente el hack consiste en:

  • Con javascript, capturar el click derecho en HTML antes que llegue al swf
  • Una vez capturado el evento, informar al swf mediante ExternalInterface
  • Crear una función en ActionScript que responda a la llamada de ExternalInterface

Se puede ver un ejemplo aquí.

Aunque puede ser un recurso muy útil, hay que tener en cuenta los siguientes inconvenientes:

  • Funciona en la mayoría de navegadores/so, pero no en todos
  • Antes de tener el evento en AS, recorre un ciclo de llamadas entre el swf y el html, con lo que el rendimiento es mucho peor que una llamada nativa
  • En el menú contextual se encuentran las opciones de configuración del Flash Player, y estaríamos quitándoselas al usuario

Aún así, en casos específicos en los que sería muy importante tener este botón habilitado, es una gran solución y no está de más conocerla.

Feb 18, 2008

Accediendo al stage antes de tiempo

En AS3 es una práctica habitual asociar eventos al stage para cogerlos globalmente. El caso más utilizado probablemente se dé con los del tipo MouseEvent. Por ejemplo, si tenemos varios objetos en pantalla, en vez de definir un evento click para cada uno de ellos, cogemos sólo el click en el escenario (global) y vemos sobre quién se está interactuando:

[as3]this.stage.addEventListener(MouseEvent.CLICK, click);
private function click(e:MouseEvent):void
{
trace(“Click en”, e.target);
}[/as3]

Pero a veces, cuando intentamos añadir un evento al stage obtenemos el siguiente error:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.

Vamos a reproducir el error.

Continuar leyendo »