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: