Domanda

Ho un piccolo compito in Flash, che sto avendo un po 'di problemi con.

Prima di tutto, ho 2 strati. Il primo è un gradiente con i vari colori, per di più è il secondo strato, che è una forma di interpolazione (filmato). Per quelli di voi che usano CS4, un'interpolazione classica. Sto utilizzando CS3 e Actionscript 2

ho giá fatto l'interpolazione di forma, è molto semplice, si trasforma in uno shuriken e di nuovo al cerchio.

Il fatto è che ho bisogno di programmare in modo che questo accade solo quando muovo il mouse sopra il cerchio. E dovrei spostare il mio mouse dal cerchio / shuriken, dovrebbe rimanere per sempre nella forma che ha avuto il momento in cui ho lasciato la zona. Quindi, se è a metà strada tra cerchio per shuriken e rimuovere il mio mouse dalla zona, dovrebbe rimanere in quella forma a metà strada, non salta torna ad essere un cerchio.

In secondo luogo, ho bisogno di essere in grado di trascinare la forma, e mentre si trascina, l'interpolazione di forma deve comportarsi come si farebbe normalmente. Il rilascio non fa smettere "interpolazione", muovendo solo il mio mouse se la sua area. Il gradiente di sfondo dà la piacevole effetto dei colori in continua evoluzione.

Ho chiamato la forma-tween "circle_mc".

Quello che non posso implementare:
1) La forma reagendo al mio passaggio del mouse
2) Rendere il dragable forma.

Qualcuno può darmi qualche suggerimento, forse articoli o esempi su questo?

È stato utile?

Soluzione

Se sto seguendo correttamente, si dovrebbe essere in grado di mettere qualcosa di simile al seguente script all'interno del clip "circle_mc" dove i preadolescenti forma è. Questo vi permetterà di creare più istanze della clip che fare la stessa azione. Ho caricato un test per voi per controllare. Se questo non è affatto quello che volevi dire, me lo faccia sapere. Si potrebbe anche creare una classe esterna da utilizzare come classe base della grafica e mettere il codice in 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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top