Comunidad de diseño web y desarrollo en internet online

Acciones repetidas en un boton

Citar            
MensajeEscrito el 12 Feb 2005 09:58 pm
Muy buenas.

Imaginar un tablero de ajedrez con 32 piezas y 64 cuadraditos,cada pieza y cada cuadradito son un Mc diferente.Lo que quiero hacer es reconstruir una partida de ajedrez de x movimientos(indefinidos, pueden ser 10 ó 50 como 200 por ejemplo) a travez de un boton (siguienteJugada)
Al clikear el boton siguienteJuagada,éste movera los distintos Mc,dónde cada Mc es una pieza de ajedrez 32Mc en total,uno por cada pieza.


Asi a brote pronto se me ocurre declarar un Array de 32 variables,dichas variables contendran la posicion de cada una de las piezas (mc)
ej;

Código :

jugada1b=function(){
peon_b2e._x=cuadro_e4._X
peon_b2e._y=cuadro_e4._y
}
jugada1n=function(){
peon_n7e._x=cuadro_e5._X
peon_n7e._y=cuadro_e5._y
}
//y asi sucesivamente hasta los movimientos totales de la partida

//--Array
jugadas=new Array(jugada1b,jugada1n)

aqui es donde me quede trabado
el problema sería; como hago para que con el boton siguientejugada se vaya reproduciendo una a una las distintas jugadas.
Alguna idea de por donde deberia comenzar?

de antemano gracias.

Por jmjuarez

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 14 Feb 2005 07:00 pm
Hola de nuevo...
Despues de algunas tentativas, surge una pregunta que es vital para el funcionamiento del proyecto que estoy realizando.
Existe alguna forma de que un boton reconozca que se le ha clicleado 50 veces (¿por ej?)
tengo el siguiente codigo.

Código :


siguiente_btn.onRelease = function() {

   for (i=0; i<jugadas.length; i++) {
      comprueva(i);
      
   }
};
//--
jugadas=new Array()
jugadas[0] = jug1b;
jugadas[1] = jug1n;
jugadas[2] = jug2b;
jugadas[3] = jug2n;

jug1b = function () {
   v = 9.25;
   h = 6.25;
   b_pe._x = e4._x+v;
   b_pe._y = e4._y+h;
};
//--

jug1n = function () {
   v = 9.25;
   h = 6.25;
   n_pe._x = e5._x+v;
   n_pe._y = e5._y+h;
};
//--
jug2b = function () {
   v = 4.25;
   h = 4.25;
   b_cg._x = f3._x+v;
   b_cg._y = f3._y+h;
};
//--
jug2n = function () {
   v = 4.25;
   h = 4.25;
   n_cb._x = c6._x+v;
   n_cb._y = c6._y+h;
};
//--

function comprueva(ind) {

   //en que jugada estamos

   switch (ind) {
   case 1 :
      ind = posicionInicial();
      //jug1b();
      jug1b();
      
   case 2 :
      ind = jugadas[1];
      jug1n();
   case 3 :
      ind = jugadas[2];
      jug2b();
   case 4 :
      ind = jugadas[3];
      jug2n();
   }
}

El problema es que
Todas las jugadas se reproducen con un clic y lo que quiero es que se vayan ejecutando de una en una.¿Es posible hacer esto en flash?
Gracias por vuestra atencion

Por jmjuarez

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Feb 2005 09:00 am
El problema que tienes es que lo estas metiendo dentro de un for, tienes que tener una variable a la cual le vayas incrementando el valor a cada click.

Sería algo así.

Código :

nJugada=0;
siguiente_btn.onRelease = function() {
      nJugada++;
      comprueva(nJugada);
   }
}; 


De esta manera nJugada irá aumentando cada vez que cliques de la otra manera, estabas ejecutando todas las jugadas en un click del botón.

Espero poder haberte ayudado, un saludo!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 15 Feb 2005 10:02 pm
muchisimas gracias funciona de maravilla y si ademas en los case en lugar de colocar un signo de igualdad(=) --->no funciona,
se le ponen dos (==) shora si.Funciona
Un abrazo

Por jmjuarez

6 de clabLevel



 

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.