Bueno mira, si es asi + o - en lo que consiste tu juego entonces te aconsejo no que llames como te dije a tu funcion
iniciarJuego() al final de la declaracion de la misma, mira, mejor has algo como esto:
Código :
/*defines e inicializas en el principo del codigo que pondras en el primer frame de tu pelicula las tres variables con las que trabajaras en tu juego*/
_global.vitalidad_luchadoruno = 100;
_global.vitalidad_luchadordos = 100;
_global.termino_de_atacar = true;
/*despues la funcion que vuelve a poner en dichas variables los mismos valores iniciales*/
function iniciarJuego() {
vitalidad_luchadoruno = 100;
vitalidad_luchadordos = 100;
termino_de_atacar = true;
}
/*puedes tener otra funcion que te compruebe el valor de las variables vitalidad al concluir los ataques, la cual podrias llamar al final de los bloques de cada boton atacar, o sencillamente preguntar por los valores de las mismas dierectamente*/
function comprobarVitalidad() {
//aqui como dice el amigo "MorphX" debes invertir tu condicion.
if (vitalidad_luchadordos <= 50) {
gotoAndStop(2);
}
else{
trace("la vitalidad ......");
}
}
/*aqui iria el resto de las funciones que ya definiste con la funcionalidad que tu le quieras dar*/
...........
/*y en los eventos de los botones*/
atacar_btn.onRelease = function() {
//llamamos la función que está arriba
atacarLuchador1();
//llamas a la funcion comprobarVitalidad justo en el momento que lo necesitas.
comprobarVitalidad();
};
atacar2_btn.onRelease = function() {
//llamamos la función que está arriba
atacarLuchador12();
//llamas a la funcion comprobarVitalidad justo en el momento que lo necesitas.
comprobarVitalidad();
};
Como puedes ver ya no necesitas utilizar
_global para referenciar las variables puesto que son globales y las puedes acceder solo con su nombre desde cualquier lugar de tu pelicula
a no ser que tengas alguna otra declarada dentro de una funcion con el mismo nombre y quieras referirte a la glogal, pero ya eso es otra cosa. Tambien pudieses hacer lo ke te decia el amigo
ExGaul sobre utilizar el
enterFrame de la raiz para mantenerte comprobando la condicion, pero si cuentas con botones que serian capaces de hacer la pregunta justo en el momento exacto no necesitas de un escucha constante como este.
Bueno, espero que ahora si puedas solucionar tu problema, y realmente me gustaria aconsejarte que indagaras un poco sobre como se ejecuta el AS en la pelicula, en que momento como acceder y declarar variables problemas de llamadas antes de tienpo a funciones variables y otro monton de cosas que nos pueden poner un poco locos porque sintaxticamente nos parece bien pero no hace lo que queremos (experiencia propia), pues a pesar de ser un lenguaje que en cuanto a sintaxis es muy parecido o casi = a otros como el
C++ en mi caso por ejemplo; la forma en que se organiza el codigo en los frames, clips, btn y todo lo demas hacen un poquito mas complicado todo.
Un ejemplo sencillo podria ser tratar de acceder a una funcion globla definida en el frame 4 de la pelicula desde un bloque de codigo especifico ubicado en cualquier otro lugar cuando aun la cabeza lectora no ha llegado a ese frame, aqui, podria parecernos que la funcion existe y que es una "cabro..." del flash el hecho de que no la ejecute, porque ahy esta definida!!, la estamos viedo al programar!!, pero realmente hasta pasados unas milesimas de seguno de iniciada la ejecucion de la pelicula para que dicho codigo sea interpretado no existira dicha funcion.
Bueno, espero haberte podido ayudar un poco mas ahora....
S@lu2s.