Mostrando entradas con la etiqueta Flash. Mostrar todas las entradas
Mostrando entradas con la etiqueta Flash. Mostrar todas las entradas

21/11/13

5005 Error desconocido al optimizar numero de bytes

Pues resulta que al compilar el fichero me sale el error 5005 Error desconocido al optimizar numero de bytes. Tras mucho buscar encontré este post. Enlace

Os resumo aquí traducido los pasos a seguir:
  1. . Control / “Eliminar archivos ASO” - Esto la mayoría de las veces soluciona el problema
  2. “Incremetar java VM heap memory size” - Esta es la solución definitiva
Para realizar el segundo paso hemos de crear una nueva variable de sistema llamada JAVA_TOOL_OPTIONS con el valor -Xmx512m.

PAra que el sistema tome esos cambios sería necesario reiniciar pero sino queremos y estamos en Windows 7 no iremos a la ruta

C:\Users\(usuario)\AppData\Local\Adobe\Flash CS5\es_ES\Configuration\ActionScript 3.0 

Y alli encontraremos el fichero jvm.ini, editamos y donde pone (al menos en mi caso) -Xmx128m ponemos -Xmx512m. Cerramos Flash, sino lo habíamos hecho aún, y lo volvemos a abrir.

21/7/11

TLFTextField no aplica formato

Yo utilizo este código:
//recogemos el formato actual
//objEscritura es un TLFTextField del escenario
objEscritura.selectable = true;
var tFormato:TextFormat = objEscritura.getTextFormat();
objEscritura.selectable = false;

var texto:String = "";

objEscritura.text = "Hola Mundo!";
objEscritura.text = texto;

//Ya que el formato no toma estas variables bien
tFormato.leading = 0;
tFormato.blockIndent = 0;
tFormato.letterSpacing = 0;
tFormato.bold = true;
tFormato.italic = true;
objEscritura.setTextFormat(tFormato, 0, 2);
El código es correcto. ¿Entonces qué ocurre? Pues ocurre que si en la propiedad de TLFTextField Suavizado no esté puesto a "Utilizar las fuentes del dispositivo" no aplica el formato.

20/7/11

TLFTextField getTextFormat Error 1009

Cuando hacemos lo siguiente puede que no arroje el siguiente error:
var tFormato:TextFormat = objEscritura.getTextFormat();
Lanza el siguiente Error 1009:
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at fl.text::TLFTextField/getTextFormat()
 at bugs_fla::MainTimeline/frame1()
El problema parece ser la propiedad selectable. No tendremos el error si antes de hacer el get desactivamos y después volvemos a activar .
   
format.selectable = true; // enable
var format2:TextFormat = field.getTextFormat();
format.selectable = false; // disable

Fuente:
http://www.plasmik.com/blog/tlftextfield-bugs-hacks/

5/7/11

MovieClip con un UIScrollBar

Como todos sabemos y los que han llegado aquí lo saben. Los scrollbar están pensados para los campos textos.

Pues con el siguiente código lo podemos hacer con un MovieClip:

4/7/11

Doble Clic en AS3

Esto es una paranoia. Para un evento normal bastaría con poner:
myButton.addEventListener (MouseEvent.DOUBLE_CLICK, myHandler);

Esto no funciona ni de coña, el fragmento siguiente se solucionará el problema:
myButton.mouseChildren = false;
myButton.doubleClickEnabled = true;
myButton.addEventListener (MouseEvent.DOUBLE_CLICK, myHandler);

He de decir que la primera línea no es necesaria si se trabaja con un clip que no tiene hijos.

Fuente: http://www.charglerode.com/blog/?p=54

29/6/11

Pasar argumentos extra a los "addListener" de AS3

Sí!!!! es posible.
La forma de hacerlo es tan sencilla que asusta. Con usar esta clase lo tienes todo hecho:
 // (c) 2007 Ian Thomas
// Freely usable in whatever way you like, as long as it's attributed.
package net.wildwinter
{
   public class Callback
   {
         // Create a wrapper for a callback function.
         // Tacks the additional args on to any args normally passed
         // to the callback.
         public static function create(handler:Function,...args):Function
         {
               return function(...innerArgs):void
               {
                     handler.apply(this,innerArgs.concat(args));
               }
         }
   }
}

Un ejemplo de uso y de dónde lo saqué en la siguiente dirección: http://www.yporqueno.es/blog/pasar-parametros-al-addeventlistener-en-as3

Detección de mútilples teclas en AS3 y Flash

 Buscando la detección múltiple de teclas para AS3 encontré este tutorial en "kirupa.com" que me salvó la vida, ya que tiene contiene la clase que necesitaba, una larga y detallada explicación de su uso, y lo más importante, el fuente del ejemplo que nos enseña.

 Sin más os dejo el enlace: http://www.kirupa.com/developer/actionscript/multiple_key_detection.htm

30/5/11

Firefox se cuelga al ejecutar Javascript llamado desde flash

Al ejecutar una llamada javascript con ExternalInterface desde flash, como todo sabemos en la versión de Actionscript 3, se me colgaba.

Al cabo de un rato he encontrado esto he visto que era por el plugin-container.exe

http://web1.taringa.net/posts/info/10764402/Firefox-4-se-cuelga---plugin-container.html

Pd. se me colgaba al ejecutar un alert de testigo, al final he tenido que recurrir a escribir en la consola de debug que tiene el Firebug. Veáse esto

4/4/11

Pasar parámetros a un Flash desde HTML

Es muy sencillo, veamos el ejemplo:
<object name="miobject" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="700" height="700" id="miobject" align="left">
     <param name="allowScriptAccess" value="sameDomain" />
     <param name="movie" value="tree_700.swf?parametro=' + Vparametro +'"/>
     <param name="menu" value="false" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#c7ccd0" />
     <embed name="miembed" src="tree_700.swf?parametro=' + Vparametro +'" menu="false" quality="high" bgcolor="#c7ccd0" width="700" height="700" align="left" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Es muy parecido por no decir idéntico a como se hace en PHP. Si nos fijamos en objeto embed la propiedad src tiene como valor el nombre del Flash a reproducir.  a continuación el símbolo "?" el nombre del primer parámetro y su valor.

Nota: si se desea pasar un 2º parámetro se ha de separar el valor del 1º con el nombre del segundo con el símbolo "&", al igual que con PHP.

Una vez en la película flash para recuperar su valor se ha de poner en nombre del parámetro antecedido de "_root", es decir:
_root.parametro

Con esto obtendremos el valor que tuviera Vparametro.

NOTA: Tanto el código como el valor de las variables se construyen con javascript y escritas en el HTML con un document.write