Comunidad de diseño web y desarrollo en internet online

Ayuda con un intento de "videojuego"

Citar            
MensajeEscrito el 01 Jun 2009 11:49 pm
Bueno, lo que pasa, es que en uno de mis experimentos aprendiendo actionscript, me antojé de hacer una simple animación que simulara un combate por turnos tipo rpg. casi todo ha funcionado, pero tengo un grave problema, no se como hacer para que luego de dar click en mi ataque, sea el turno del enemigo y mientras tanto, uno no pueda atacar

Haber, planteo mejor la situación:

tengo dos clips de pelicula: "heroe","enemigo", y uno que actua como boton: "atacar"

y dos variables: "saludheroe","saludenemigo"

La idea básica es que cuando el heroe ataque, le quite salud al enemigo, hasta ahí todo bien, el problema es que le puedo dar atacar cuantas veces quiera, y el enemigo siempre se queda quieto. Intenté solucionar esto con un variable: "turno", pero no he podido hacer que funcione.

hasta ahora tengo (creo que es uno de mis intentos mas acertados):

Código :

saludheroe = 100;
saludenemigo = 50;
turno = true;
//Con esta variable (turno), esperaba solucionar el problema, pero no.
heroe.stop();
atacar.onPress = function() {
   if (_root.turno=true) {
      heroe.gotoAndPlay("atacar");
      enemigo.gotoAndPlay("golpeado");
      saludenemigo -= random(10);
      if (_root.saludenemigo<=0) {
         gotoAndStop("ganaste");
      }
      turno = false;
   }
};
onEnterFrame = function () {
   if (_root.turno=false) {
      enemigo.gotoAndPlay("atacar");
      heroe.gotoAndPlay("golpeado");
      saludheroe -= random(10);
      if (_root.saludheroe<=0) {
         gotoAndStop("perdiste");
      }
      turno = true;
   }
};


De antemano gracias por su atención :D

Por Skalarirude

17 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jun 2009 06:41 am
Creo que es un fallo muy tipico, en los if pon dos iguales en vez de uno, sino lo que haces es cambiar la variable turno

Por javico

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jun 2009 09:04 am
prueba a poner tuerno como funcion, no sabria decirte escatmanete el codigo para pararte a ti, pero igual si pones el turno como funcion y haces que tu panel de ataque se oculte, eso supongo quevaldría, bueno pruba y cuentanos;)

Por Neirax

7 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Jun 2009 01:34 am
¡uh!, que bien...
al fin logré resolver el problema con la ayuda de tribak, lo que pasaba era que estaba poniendo a evaluar la variable turno solo una vez, y al fin de cuentas un "onEnterFrame" lo solucionó todo.

Por Skalarirude

17 de clabLevel



 

opera

 

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