Pergunta

Eu tenho uma pequena tarefa em Flash, que eu estou tendo um pouco de dificuldade com.

Em primeiro lugar, eu tenho 2 camadas. O primeiro é um gradiente com várias cores, em cima do que é a segunda camada, que é uma interpolação de forma (clipe). Para aqueles de vocês usando CS4, uma interpolação clássica. Estou usando CS3 e Actionscript 2

Eu fiz allready a interpolação de forma, é muito simples, ele se transforma em uma shuriken e de volta para o círculo.

A coisa é, eu preciso programá-lo para que isso só acontece quando eu movo o mouse sobre o círculo. E devo mover o mouse longe do círculo / shuriken, deve manter-se sempre na forma que tinha no momento em que deixou a área. Então, se é metade do círculo para shuriken e eu remover meu mouse da área, ele deve permanecer nessa forma no meio do caminho, não saltar para trás a ser um círculo.

Em segundo lugar, eu preciso ser capaz de arrastar a forma, e enquanto arrastando-o, a interpolação de forma deve se comportar como faria normalmente. Liberá-lo não fazê-lo parar "interpolando" apenas movendo o mouse para fora se sua área. O fundo gradiente dá o efeito agradável das cores em constante mutação.

Eu nomeei a forma-Tween "circle_mc".

O que não pode implementar:
1) A forma reagindo a minha mouseover
2) Fazer o dragable forma.

Alguém pode me dar algumas dicas, talvez artigos ou exemplos sobre isso?

Foi útil?

Solução

Se eu estou seguindo corretamente, você deve ser capaz de colocar algo semelhante ao seguinte roteiro dentro do clipe de "circle_mc", onde sua forma tween é. Isso permitirá que você para criar várias instâncias do clipe que fazer a mesma ação. Fiz upload de um teste para você check-out. Se isso não é em tudo o que você quis dizer, me avise. Você também pode criar uma classe externa para usar como a classe base de seus gráficos e colocar o código lá.

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top