Tutorial 6 - Animación con ActionScript 3.0

Paso 16 de 19

Ahora probamos la película y tratamos de pulsar sobre la segunda nube en posiciones muy cercanas al límite del escenario por ambos lados para hacernos una idea de los valores de x adecuados.

El panel Salida mostrará el valor x para esta nube, que como podemos ver, ha variado considerablemente al estar programada para mostrarse en un plano más profundo.

De hecho, esa diferencia entre la propiedad x dependiendo de la profundidad la podemos observar también en la animación, ya que aunque ambas nubes tienen asignado el mismo incremento en el valor x, la más lejana parece avanzar más despacio que la más cercana.

En nuestro caso, como valor mínimo seleccionaremos -315 y como valor máximo 715, pero esos valores dependerán del tamaño de nuestra nube.

Ahora la primera nube tardará más en aparecer. Podríamos añadir un condicional, y dependiendo de si el target es la primera nube o la segunda, tomar unos límites u otros. En este caso no tiene importancia que una nube tarde más en aparecer de nuevo, así que dejamos como límites los de la nube más lejana.

Como hemos podido comprobar, el uso de trace y de los comentarios pueden ser muy útiles a la hora de programar.

Después de borrar el trace, pues ya no lo necesitamos, las funciones quedarán así:

function drag(e:MouseEvent):void 
{
    e.target.startDrag();
}

function drop(e:MouseEvent):void 
{
    e.target.stopDrag();
}

function wind(e:Event):void 
{
    e.target.x += .4;
    if (e.target.x > 715) 
    {
        e.target.x = -315;
    }
}