problema con action script

cHiv0rz

lo puse en el foro de software pero va aki.

Estoy haciendo un juego que tiene 15 clips de peliculas. Es un juego muy sencillo en el que tienes que encontrar 7 enanitos, con 10 movimientos como maximo, en un total de 15 setas. Cuando pasa por encima de la seta, se cambia de imagen, y si sale un gnomo es un movimiento acertado, y si sale una seta negra es que es malo.

Mi problema está en que no sé donde poner el contador para que se incremente el numero de tiradas. Lo pongo en el evento enterFrame, pero no me salta a las 10 oportunidades.

Alguna idea? muchas gracias

ethernal-

Si posteas el codigo pues como que mejor. De todas formas asi a primera vista, parece que lo que te falla es el ambito de la variable. Si la declaras dentro del onEnterFrame, no la podras utilizar fuera del mismo..

Lo que si puedes hacer es declararla global e incrementarla dentro del onEnterFrame.

cHiv0rz

he probado lo que me has dicho de la variable global, y sigue igual. Es decir, la declaro global en la parte principal, y luego en cada evento incremento esa variable, pero no salta cuando llega a 10 tiradas. Hay alguna forma de ver la ejecución como un debugguer?

ethernal-

Es que ya te digo, sin ver el codigo es bastante dificil xd

Y si, flash trae su propio debugger.

Control > Debug Movie

cHiv0rz

A ver, empiezo desde el principio a explicar de nuevo.
Tengo 8 fotogramas, el primero de ellos es de explicación del juego y tiene un botón para comenzar a jugar que funciona, el segundo es para saltar de forma aleatoria a uno de las cuatro opciones de colocación de las setas y los enanos y hasta ahí tmb bien. El problema lo tengo cuando salto a uno de los cuatro fotogramas con 15 setas,las condiciones para saltar al fotograma 7 que da la enhorabuena por ganar es que hayas encontrado los 7 enanos en 10 intentos como máximo, si a los 10 intentos no los has encontrado pues debe saltar al fotograma 8 pero no salta a ninguno de los dos, simplemente me deja descubrir todas las setas.En el fotograma 1 he declarado dos variables var intentos=0; y var encontrados=0; en los cuatro fotogramas entre los que puedo saltar dependiendo del número aleatorio(en los que solo cambia el orden de las setas) pongo lo siguiente en Acciones de Fotograma:

stop();
function incrementarambos(){
_root.encontrados += 1; root.intentos += 1;
if(
root.encontrados==7)
{
gotoAndStop(7);
}
if(_root.intentos==10)
{
gotoAndStop(8);
}

}
function incrementarintentos(){
root.intentos += 1;
if(
root.intentos>9)
{
gotoAndStop(8);
}
}

Dentro de cada una de las setas declaradas como clips de película pongo:
onClipEvent(mouseMove){
if((this.hitTest(root.xmouse,root.ymouse)))
{
root.gnomo1.x=this._x;
root.gnomo1.y=this.y;
this.
visible=false;
this.incrementarambos();
//si fuera root.podrida.x=this._x; pondría
// la otra función

}
El problema es que yo creo que en las funciones no se incrementan las variables, ya no sé ni cómo ni dónde declararlas, alguna ayuda please???

ethernal-

Estas llamando a la funcion this.incrementarAmbos() desde cada MovieClip, cuando deberia ser _root.incrementarAmbos()

De todas formas, para cerciorarte de que es eso pon un trace de prueba dentro de incrementarAmbos() para ver si se ejecuta o no y ya nos cuentas.

cHiv0rz

muchas gracias, era eso de que no referenciaba las variables bien :)

Un saludo

Usuarios habituales

  • cHiv0rz
  • ethernal-