// ALGUIEN ME PUEDE EXPLICAR LOS 2 RETURN QUE HAY EN EL CODIGO, NO ACABO DE
// ENTENDER QUE FUNCION CUMPLEN. SE QUE EL RETURN AL ESTAR SOLO DEVUELVE
// UNDEFINED, PERO EN QUE SITIO SE RECOGE ESTE VALOR O QUE HACE EXACTAMENTE AQUI?
Código :
var ID; var cantidadAlfa = 50; var contador = 0; var primeraPieza; var pulsaciones = 0; arrayPiezas = new Array(); arrayMovimientos = new Array(); //Crea un nuevo objeto Sound para un clip de película especificado var sonido0 = new Sound(this); sonido0.attachSound("1.wav"); var sonido1 = new Sound(this); sonido1.attachSound("2.wav"); var sonido2 = new Sound(this); sonido2.attachSound("3.wav"); var sonido3 = new Sound(this); sonido3.attachSound("4.wav"); //Añadir los clips al array arrayPiezas for (var i = 1; i<5; i++) { arrayPiezas.push(this["P"+i]); this["P"+i].valor = i-1; } textoNivel_txt.text = 0; //Forma de actuar de los botones function eventosPiezas() { for (var i = 0; i<arrayPiezas.length; i++) { //Al presionar baja el alfa arrayPiezas[i].onPress = function() { this._alpha = cantidadAlfa; }; //En rollOut recupera alfa arrayPiezas[i].onRollOut = function() { this._alpha = 100; }; arrayPiezas[i].onRelease = function() { trace("pulsacionesA="+pulsaciones); trace("valor="+this.valor); //Recupera alfa this._alpha = 100; //Play sonido _root["sonido"+this.valor].start(0); if (arrayMovimientos[pulsaciones] != this.valor) { fallo(); return; } //Añadir 1 a la variable pulsaciones pulsaciones++; trace("pulsacionesB="+pulsaciones); if (pulsaciones == arrayMovimientos.length) { textoNivel_txt.text = pulsaciones; siguienteNivel(); } }; } } function fallo() { textoPrincipal_txt.text = "Game Over"; desactivarPiezas(); //Set start button transparency back to 100% empezar_btn._alpha = 100; //Delete array of moves arrayMovimientos = new Array(); //Recreate the start button empezar_btn.onRelease = function() { empezarJuego(); }; } function desactivarPiezas() { for (var i = 0; i<arrayPiezas.length; i++) { delete arrayPiezas[i].onPress; delete arrayPiezas[i].onRollOut; delete arrayPiezas[i].onRelease; } } function encenderLuz(numero) { clearInterval(ID); contador--; //Si no hay mas piezas para iluminar esperar por la secuencia del usuario if (contador == 0) { turnoJugador(); return; } if (contador == 1) { //Si la ultima pieza ha sido iluminada elegir nuevo numero aleatorio numero = Math.floor(Math.random()*4); } else { //Elegir la siguiente pieza a iluminar numero = arrayMovimientos[arrayMovimientos.length+1-contador]; } //Iluminar la pieza iluminar(numero); } function turnoJugador() { pulsaciones = 0; //Lets user interact with pieces eventosPiezas(); } function iluminar(numero) { //disminucionAlfas the numero piece bajarAlfa(numero); //Light up the piece for half of a second ID = setInterval(pausa, 500, numero); } function pausa(numero) { clearInterval(ID); unDim(numero); ID = setInterval(encenderLuz, 50, numero); } function bajarAlfa(numero) { if (contador == 1) { arrayMovimientos.push(numero); trace(newline); trace("arrayMovimientos="+arrayMovimientos); } //Plays the sound when iluminaring a piece up _root["sonido"+numero].start(0); arrayPiezas[numero]._alpha = 50; } function unDim(numero) { arrayPiezas[numero]._alpha = 100; } function empezarJuego() { //Picks first piece primeraPieza = Math.floor(Math.random()*4); textoPrincipal_txt.text = ""; for (var i = 0; i<arrayPiezas.length; i++) { //Sets all the pieces to 100% transparency arrayPiezas[i]._alpha = 100; } //Sets the start button to invisible empezar_btn._alpha = 0; //Deletes the start button onRelease function delete empezar_btn.onRelease; eventosPiezas(); contador = 1; //Lights first piece iluminar(primeraPieza); } function siguienteNivel() { //Disables interacting with pieces desactivarPiezas(); for (var i = 0; i<arrayPiezas.length; i++) { //Sets all pieces to 100% transparency arrayPiezas[i]._alpha = 100; } contador = arrayMovimientos.length+1; var reloj = getTimer(); this.onEnterFrame = function() { //Wait 1 second before starting sequence display after input if (reloj<getTimer()-1000) { delete this.onEnterFrame; iluminar(primeraPieza); } }; } empezar_btn.onRelease = function() { empezarJuego(); };