Archive for the ‘ AS2 ’ Category

OSX 5005:Unknown error optimizing byte code

Trabajando en un gran proyecto AIR, al intentar compilar me daba este error:

1
"5005:Unknown error optimizing byte code".

Para solucionarlo, debemos aumentar la memoria del compilador mediante la creación de un archivo en:

1
~ /. MacOSX / Environment.plist

Copiaremos entonces este texto en ella:

1
2
3
4
5
6
7
8
9
<? Xml version = "1.0" encoding = "UTF-8"?>
<! DOCTYPE plist PUBLIC "- / / Apple / / DTD PLIST 1.0 / / EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
version="1.0">
<plist
<dict>
JAVA_TOOL_OPTIONS <key> </ key>
<string>-Xmx512m </ string>
</ Dict>
</> Plist

En el caso de que utilizemos flash CS5 deberemos tambien editar este fichero:

1
 ~ / Library / Application Support / Adobe / Flash CS5/en_US/Configuration/ActionScript3.0/jvm.ini

Cambiamos: -Xmx128m a -Xmx512m.

AS3 Condicional Switch Stament

Imaginemonoss que pudiesemos utilizar un switch stament utilizando operadores logicos en vez de operadores de igualdad.

De esta manera podriamos tener un codigo parecido al siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var value:int = 2;
switch(value){
    case < 1:
        trace("Value is less than 1");
        break;
    case 2:
        trace("Value definitely equals 2");
        break;
    case >= 3:
        trace("Value is greater than or equal to 3");
        break;
    case > 1 && < 3:
        trace("Value is greater than 3 and less than 5");
        break;
    case !== 5:
        trace("Value definitely doesn't equal 5");
        break;
}

Buscando por la red encontre esta solucion:

1
2
3
4
5
6
7
8
9
10
11
12
var value:int = 2;
switch (true) {
    case value < 1:
        trace("Value is less than 1");
    break;
    case value == 1:
        trace("Value equals 1");
    break;
    case value > 1:
        trace("Value is greater than 1");
    break;
}

innerHTML borra las comillas de los atributos en Internet Explorer

Después de perder unas cuantas horas intentando resolver un problema de formato XML en flash, llego a la conclusión de que el resultado de innerHTML no es el mismo entre todos los navegadores, bueno es el mismo en todos menos en Internet explorer ( para variar ).

1
2
3
4
5
6
7
8
9
10
// Codigo original de la Página
<div id="container">container</div>

// Resultado de innerHTML sobre document.getElementById('content')

//Firefox
<div id="container">container</div>

//Internet Explorer
<DIV id=container>container</DIV>

Buscando por la red encuentro una solución innerXHTML

1
2
var container = document.getElementById('container');
var code = innerXHTML(container);

Descargar innerxhtml