Pregunta

Tengo una pequeña tarea en Flash con la que estoy teniendo algunos problemas.

Primero que nada, tengo 2 capas.El primero es un degradado con varios colores, encima está la segunda capa, que es una interpolación de formas (clip de película).Para aquellos que usan CS4, una interpolación clásica.Estoy usando CS3 y Actionscript 2

Ya hice la forma intercalada, es muy simple, se convierte en un shuriken y vuelve al círculo.

La cuestión es que necesito programarlo para que esto solo suceda cuando muevo el mouse sobre el círculo.Y si alejo el mouse del círculo/shuriken, debería permanecer para siempre en la forma que tenía en el momento en que dejé el área.Entonces, si está a mitad de camino entre el círculo y el shuriken y quito el mouse del área, debería permanecer en esa forma a mitad de camino, no volver a ser un círculo.

En segundo lugar, necesito poder arrastrar la forma y, mientras la arrastro, la interpolación de formas debe comportarse como lo haría normalmente.Liberarlo no hace que deje de "interpolar", solo mueve el mouse hacia afuera si está en su área.El fondo degradado da el agradable efecto de que los colores cambian constantemente.

He llamado a la interpolación de formas "circle_mc".

Lo que no puedo implementar:
1) La forma que reacciona al pasar el mouse
2) Hacer que la forma se pueda arrastrar.

¿Alguien puede darme algunas pistas, quizás artículos o ejemplos sobre esto?

¿Fue útil?

Solución

Si estoy siguiendo correctamente, debería ser capaz de colocar algo similar a la siguiente secuencia de comandos dentro del clip de "circle_mc" donde su interpolación de forma es. Esto le permitirá crear varias instancias del clip que hacer la misma acción. He subido una prueba para que pueda comprobar a cabo. Si eso no es en absoluto lo que quería decir, que me haga saber. También puede crear una clase externa para su uso como la clase base de los gráficos y poner el código en ese país.

var hasRolledOver:Boolean = false;

this.onPress = function():Void
{
    this.startDrag();
}

this.onRelease = function():Void
{
    this.stopDrag();
}

this.onRollOver = function():Void
{
    if (!hasRolledOver)
    {
        this.gotoAndPlay(2);
        hasRolledOver = true;
    }
}

this.onRollOut = function():Void
{
    this.stop();
}

http://typeoneerror.com/media/as/test.fla.zip

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top