Llevo muchos días buscando archivos viejos de As2 para convertirlos a As3, pero ha llegado el momento de pedir ayuda. Necesito si alguien me da una estructura y yo seguirla. Hasta ahora lo que tengo es esto:
EN la Clase principal:
Código ActionScript :
//ARRAYS var moneda:Array = new Array(); var miArray1:Array = [1,1,1]; var monedasArray1:Array = []; var posicionMonedasx:Array = [131.25,232.3,309.25]; var posicionMonedasy:Array = [138.9,138.9,138.9]; //VARIABLES var tamañoMonedasArray1; var a;
En la función constructora:
Código ActionScript :
if (miSO.data.miArray1Grabado != null)
{
miArray1 = miSO.data.miArray1Grabado;
}
var i = 0;
while (i < miArray1.length)
{
moneda[i] = new Moneda();
moneda[i].x = posicionMonedasx[i];
moneda[i].y = posicionMonedasy[i];
var monedaPusheada = addChild(moneda[i]);
monedasArray1.push(monedaPusheada);
++i;
}
Y dentro de la función con listener ENTER_FRAME:
Código ActionScript :
tamañoMonedasArray1 = monedasArray1.length;
a = 0;
while (a < tamañoMonedasArray1)
{
var monedaDentroArray = monedasArray1[a];
if (monedasArray1[a] != null)
{
if (miArray1[a] == 0)
{
monedaDentroArray.gotoAndStop(2);
//(No me deja hacer un removeChild, no se por qué).
}
if (protagonista.hitTestObject(monedaDentroArray))
{
miArray1[a] = 0;
monedasArray1[a] = null;
monedaDentroArray.gotoAndStop(2);
}
}
++a;
}
if (protagonista.hitTestObject(elGrabador))
{
miSO.data.miArray1Grabado = miArray1;
miSO.flush();
}
El problema que tengo con este código que he hecho es que después de coger una moneda y tocar elGrabador para grabarla, si cierro el programa y vuelvo a tocar cualquiera de las 2 monedas restantes, cierro sin volver a tocar elGrabador y vuelvo a abrir el swf, esas monedas no grabadas ya no aparecen. Espero que no sea un lío, gracias.
Aquí está el swf:
