Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2005, 09:43
Avatar de ¦David¦
¦David¦
 
Fecha de Ingreso: abril-2005
Ubicación: /home/
Mensajes: 264
Antigüedad: 19 años
Puntos: 0
Podrían revisar este código, por favor...

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.