bueno amigo, la verdad sos impresionante, por fin he podido finalizar el proyecto gracias a ti.
Al final me puse a leerlo a partir de los ejemplos y pude realizarlo.
este es el codigo final:
Código :
/*------------------------------------------------------------------------------------*/
/* PRUEBA REINICIO*/
var frecuenciabarra:Number;
var frecuenciabarrera:Number;
var frecuenciabarrera2:Number;
var frecuenciaaro:Number;
var seg:Number;
var tiempo_total:Number;
var tiempobarrera:Number;
var tiempobarrera2:Number;
var coin:Number;
var tiempoaro:Number;
var suma:Number;
var puntos:Number;
function reiniciar():Void {
//variables
seg = 0;
tiempo_total = _root.tiempo;
//---Poner la barra en escala 0
barra._xscale = 0;
tiempobarrera = 0;
tiempobarrera2 = 0;
coin = 0;
tiempoaro = 0;
suma = 1;
puntos = 0;
frecuenciabarra = setInterval(relojbarra, 1000);
frecuenciabarrera = setInterval(barrera, 1000);
frecuenciabarrera2 = setInterval(barrera2, 1000);
frecuenciaaro = setInterval(relojaro, 1000);
}
reiniciar();
/*-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
function relojbarra():Void {
if (tiempobarrera == 3) {
seg++;
//---Asignarle una escala a la barra
var pCent:Number = seg / tiempo_total * 100;
barra._xscale = pCent;
//---Cuando llegue al final
if (seg == tiempo_total) {
clearInterval(frecuenciabarra);
clearInterval(frecuenciaaro);
}
}
}
/*-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
/* TIEMPO ABRIR BARRERA*/
function barrera() {
if (coin >= 2) {
tiempobarrera++;
_root.setS2a(true);
}
//detiene el intervalo
if (tiempobarrera == 3) {
_root.setS2a(false);
clearInterval(frecuenciabarrera);
}
}
/*-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
/* TIEMPO CERRAR BARRERA*/
function barrera2() {
if (seg == tiempo_total) {
_root.setS1a(true);
tiempobarrera2++;
}
//detiene el intervalo
if (tiempobarrera2 == 3) {
_root.setS1a(false);
//Cerrar movimiento aro
_root.setS3a(false);
_root.setS4a(false);
/*RESETEAR VARIABLES
//variables BARRA DE TIEMPO
seg = 0;
barra._xscale = 0;
//variables ABRIR BARRERA
tiempobarrera = 0;
//variable CREDITOS
coin = 0;
//variables MOVER ARO
tiempoaro = 0;
suma = 1;
//variables de PUNTOS
puntos = 0;*/
reiniciar();
//FIN RESETEAR VARIABLES
clearInterval(frecuenciabarrera2);
}
}
/*-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------*/
/*FUNCION: VALIDAR CREDITOS*/
//Variable de Creditos
function coinEvent(oldVal, newVal) {
_root.container.coinLight.gotoAndStop(newVal + 1);
if (newVal == 1) {
coin++;
}
}
/*-------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------*/
//Variable del Movimiento del Aro
/*FUNCION: MOVIMIENTO DEL ARO*/
function relojaro():Void {
if (coin >= 2 and tiempobarrera == 3) {
tiempoaro += suma;
if (tiempoaro == 5) {
suma = -1;
_root.setS3a(false);
_root.setS4a(true);
} else if (tiempoaro == 0) {
suma = 1;
_root.setS3a(true);
_root.setS4a(false);
}
}
}
/*------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------*/
//Variable de Puntos
/*FUNCION: SUMAR PUNTOS (Entrada 5)*/
function e5aEvent(oldVal, newVal) {
_root.container.salida1.gotoAndStop(newVal + 1);
if (coin>=2 and newVal==1 and (puntos % 2 == 0 or puntos % 3 == 0)) {
puntos += 3;
} else if (coin>=2 and newVal==1) {
puntos += 2;
}
}
te lo agradezco muchisisisismo......
tengo una duda mas, pero esto es sobre todo una cuestion de performance, en la parte de los puntos:
Código :
/*------------------------------------------------------------------------------------*/
//Variable de Puntos
/*FUNCION: SUMAR PUNTOS (Entrada 5)*/
function e5aEvent(oldVal, newVal) {
_root.container.salida1.gotoAndStop(newVal + 1);
if (coin>=2 and newVal==1 and (puntos % 2 == 0 or puntos % 3 == 0)) {
puntos += 3;
} else {
puntos += 2;
}
}
pero esto no cumple la condicion de q solo funcione cuando coin>=2
entonces probe esto:
Código :
/*------------------------------------------------------------------------------------*/
//Variable de Puntos
/*FUNCION: SUMAR PUNTOS (Entrada 5)*/
function e5aEvent(oldVal, newVal) {
_root.container.salida1.gotoAndStop(newVal + 1);
if (coin>=2 and newVal==1 and (puntos % 2 == 0 or puntos % 3 == 0)) {
puntos += 3;
} else if (coin>=2 and newVal==1) {
puntos += 2;
}
} pero solo suma de a 3....
yo necesito q sume de a 3 y de a 2....por eso pongo esta condicion:
puntos % 2 == 0 or puntos % 3 == 0
que lo hace automaticamente como en el primer caso.
yo supongo q a ese, solo le hace falta un toke....
con eso ya no molestaria mas
desde ya muchas gracias.