Bueno, quisieran que vean este código, abajo , explico lo que quiero hacer con el.
Lo he sacado de un libro del cual estoy aprendiendo acerca de las variables, etc. y este es un ejemplo que me da el autor del libro , acerca de para qué podría utilizar las variables.Como recién empiezo con el AS en flash , quiero saber si estoy aprendiendo bien. Para eso me gustaría que me dieran sus opiniones , sean abiertos, por favor.
El libro se llama: Actionscript Programacion en flash
Autor: Julián Drault
Y esto dice:
El objetivo de este ejercicio es construir una puerta deslizable inteligente, típicamente presente en aeropuertos. Un pasajero (círculo), puerta derecha y puerta izquierda (rectángulos) serán nuestros actores estelares.También contamos con una linea punteada que hará límite de "area de deteccion" .El pasajero sera desplazado por todo el escenario mediante drag&drop. Cuando este ingrese en el area sensible (demarcada por las lineas de puntos), la puerta inteligente comenzara a abrirse , o bien se reiniciará su apertura desde el punto previo a la detección del pasajero (en caso de encontrarse en proceso de cierre).Sólo cuando el pasajero abandone el area de deteccion de la puerta, esta ultima comenzara a cerrarse.
Código:
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; //Esta linea me suena a que esta demás y encima dice "tvar"....
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;
var limite_inf=_root.limite_inf._x;
//Rango de movimiento de puertas
var p_i_c= puerta_izq._x; //puerta izquierda cerrada
var p_i_a= puerta_izq._x - apertura; // puerta izquierda abierta
var p_d_c= puerta_der._x; // puerta derecha cerrada
var p_d_a= puerta_der._x + apertura; //puerta derecha 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 pasajero
pasajero.onPress=function() {
this.startDrag (0) ;
}
pasajero.onRelease=function (){
this.stopDrag (0) ;
}
//Chequeo de ingreso a área sensible
_root.onMouseMove=function() {
if (pasajero._y < limite_sup || pasajero._y > 52 limite_inf) {
desplazar_puertas ("cerrar") ;
} else {
desplazar_puertas ("abrir") ;
}
}
P/D: Cuando hago el ejercicio en Flash mx 2004 , me da errores, que ya ustedes sabran cuales son, por consecuencia, no me sale el ejercicio.
Espero , puedan ser pacientes conmigo y gracias por cada una de sus opiniones.