Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/11/2007, 17:19
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 3 meses
Puntos: 5
Re: actualizar coordenadas

La cosa está básicamente en coordinar el código del onMouseMove con tu animáción usando además al verificar la posición ymouse la propiedad _currentFrame, para que no lo haga salvo en los fotogramas dónde el clip está plegado o desplegado.

Te paso un ejemplo antes de la explicación:.

Ejemplo
Archivos

Lo que he hecho ha sido crear un clip de pelicula con dos capas...

Capa 1:
En una capa he creado una interpolación de movimiento sobre el clip mcMenu que parte de la posición inicial en altura del clip de pelicula y llega a la altura dónde se ve el menu y luego sigue la interpolación volviendo a la posición inicial dónde no es visible(en mi ejemplo si es visible al inicio en la zona de la flechita en el huequecito que dejo)

Los fotogramas clave de esa interpolación son el 1 y el 12, pués en el fotograma 1 inicia la animación y en el 12 se para arriba.

Coloco pues en el fotograma 1 y en el 12 un hermoso stop();

De esta forma ya tenemos la animación para que:
si en 1 hacemos play() vaya hacia arriba.
si en 12 hacemos play() vaya hacia abajo

En esta capa tambien he puesto alguna cosa más pero pura estética:
fotograma 13 es clave y lo uso para configurar la aceleración inicial de la interpolación(ya que en doce era de -100 y quiero que al volver abajo parte de 100

En los fotogramas 12 y 24 cambio la rotación de uan flecha dentro del clip de película de la animación para que apunte hacia abajo cuando esta desplegado y hacia arriba cuando esta plegado.

Capa 2:
Colocamos el siguiente código que ha de abarcar los 24(en mi caso) fotogramas de la animación:
Código PHP:
var mouseListener:Object = new Object();
mouseListener.onMouseMove = function() 
{
    if (
_ymouse<=110 && _currentframe==1
    {
        
play();
    }
    if (
_ymouse>=110 && _currentframe==12
    {
        
play();
    }
};
Mouse.addListener(mouseListener); 
Estamos diciendo más o menos,

si estamos en el fotograma 1(es decir que el menu no está desplegado) y la posición es menor que 110 haz play.

si estamos en el fotograma 12(es decir que el menu está desplegado) y la posición es mayor que 110 haz play.

Por otra parte además conviene que la pelicula ocupe el 100% en ancho y alto de la ventana del navegador porque fuera de la pelicula flash no tiene acceso al evento de onMouseMove

Y ya está, funciona!!!

Salu2 ;)
__________________
[+]
[+]