Hola a todos queridos colegas; tengo el siguiente action script, donde la puerta_der , puerta_izq, los limites y el pasajero, son nuestras variables (actores estelares) de nuestro escenario principal.
El problema se genera cuando en algun punto de la programacion, se produce un error y el objetivo final no se lleva a cabo; siendo este, que las puertas se abran cuando el pasajero ingresa al area de deteccion.
Aqui el codigo:
Código:
// configuracion
var velocidad=15; //velocidad de clausura-apertura
var apertura=120; // distancia entre clausura-apertura
// inicializacion de actores
var pasajero=_root.pasajero;
tvar puerta_der=_root.puerta_der;
var puerta_izq=_root.puerta_izq;
var puerta_der=_root.puerta_der;
// area sensible de deteccion de pasajeros
var limite_sup=_root.limite_sup._y;
limite_sup._visible=0
var limite_inf=_root.limite_inf.y;
limite_inf._visible=0
// rango de movimiento de puertas
var p_i_c= puerta_izq._x // puerta izq. cerrada
var p_i_a= puerta_izq._x - apertura // puerta izq. abierta
var p_d_c= puerta_der._x // puerta der. cerrada
var p_d_a= puerta_der._x + apertura // puerta der. abierta
// apertura de puertas
function desplazar_puertas(sentido){
if (sentido == "abrir"){
_root.onEnterFrame=function(){
if(puerta_izq._x > p_i_a && puerta_der._x < p_d_a){
puerta_izq._x-=velocidad;
puerta_der._x+=velocidad;
} else {
puerta_izq._x=p_i_a;
puerta_der._x=p_d_a;
_root.onEnterFrame=null;
}
}
} else if (sentido == "cerrar"){
_root.onEnterFrame=function(){
if(puerta_izq._x < p_i_c && puerta_der._x > p_d_c){
puerta_izq._x+=velocidad;
puerta_der._x-=velocidad;
} else {
puerta_izq._x-=p_i_c;
puerta_der._x+=p_d_c;
_root.onEnterFrame=null;
}
}
}
}
// movilidad de pasajero
pasajero.onPress=function(){
this.startDrag(0);
}
pasajero.onRelease=function(){
this.stopDrag(0);
}
// chequeo de ingreso a area sensible
_root.onMouseMove=function(){
if(pasajero._y <limite_sup || pasajero._y > 52 limite_inf){
desplazar_puertas("cerrar");
} else {
desplazar_puertas("abrir");
}
}
Espero alguien pueda ayudarme a resolver el problema, y por supuesto tambien usar este codigo (resuelto) para algun proyecto personal.
GRACIAS A TODOS.
Saludos
beatger