Flash Novatos

ActionScript Basico e Intermedio (Blog Optimizado para Firefox)

lunes, 24 de marzo de 2008

Conformar una tabla de posiciones en flash y guardado de esta

Action Script 2.0
[dien20xx@gmail.com]

Recientemente con la salida del juego Blackhack + 5 días sin revisar
el correo bastaron para llegar a la cifra inimaginable de 151 correos
:P. Al parecer el juego tuvo gran aceptación, e incluso muchos se
brindaron para aportar su granito de arena a los demás niveles. Bueno
hablo de eso mas abajo.

Félix Miguel usuario de BlackHat me dice que como seria posible
almacenar en la PC los records de los jugadores. Para eso cree una
aplicación que cuenta los clicks y luego crea una posición ordenada de
los mismos.

Espero que esto sea lo que pides, te mando también el .fla para que
los desbarates

-----------------------------------------------------

Frame 1

/* se detiene la película en el primer frame*/
stop();

Botón Continuar


/* al liberarse cheque si el texto de entrada esta indefinido o tiene
un valor vacío*/
on (release) {
if (nom == undefined or nom == "") {
ent.play();
} else {
nextFrame();
}
}

Frame 2

/* se le da el valor inicial a ckt y se crea la función de aumento de clic */

ckt = 0;
_root.onMouseUp = function() {
ckt++;
};

Botón Continuar

/* va al siguiente frame */

on (release) {
nextFrame();
}


/* imagen del 3er frame */


Frame 3

/* si se abre por primera vez la película, sha.data.recz va a ser
undefined, por eso, si es así, cargara los valores por defecto del
array rec */

sha = SharedObject.getLocal("records");
if (sha.data.recz == undefined) {
rec = [["ipconfig", 12], ["DarkX", 12332], ["telnet", 112],
["atelier", 6], ["x", 3]];
} else {

/* de ya haber sido guardado el array rec coge el valor de
sha.data.recz , (valor guardado en la PC) */
rec = sha.data.recz;
}

/* se le añade una nueva matriz, con los resultados del usuario */
rec.push([nom, ckt]);

/* se llama la función de guardar el contenido del array rec modificado */
sd();

/* tengo que reconocer que me metí como 30 minutos viendo como hacia
el ordenamiento del array , nunca lo había hecho con matrices anidadas
, si alguien tiene una forma mejor me lo hace llegar */
for (i=0; i<rec.length; i++) {
j = i;
while (j<rec.length) {
if (rec[i][1]<rec[j][1]) {
zero = rec[i][0];
rec[i][0] = rec[j][0];
rec[j][0] = zero;
zero = rec[i][1];
rec[i][1] = rec[j][1];
rec[j][1] = zero;
}
++j;
}
}

/* se crea un bucle para llenar los textos dinámicos con los valores
almacenados, recientemente ordenados */

for (i=0; i<5; i++) {
this["ck"+(i+1)] = rec[i][1];
this["no"+(i+1)] = rec[i][0];
}

/* función de escritura del valor rec a la pc */
function sd() {
sha = SharedObject.getLocal("records");
sha.data.recz = rec;
}

Botón Continuar

/* que vaya al primer fotograma, y todo se repite */
on (release) {
gotoAndStop(1);
}

/* cuando cierres y vuelvas a abrir la película te saldrán los últimos
records, claro que tiene que ser en la misma PC de donde lo abriste,
así todo lo mas tocao es conectarlo a una base de datos php,
próximamente hablare de eso.
Nada si hay alguna duda estaré dispuesto a responder todo lo que esté
entre mis posibilidades */

0 comentarios:

Publicar un comentario

Suscribirse a Enviar comentarios [Atom]

<< Inicio