[AS2] Class.Mirror HowTo

Inserito il 28-11-2007

La classe Mirror crea una copia specchiata verticalmente, del MovieClip a cui viene applicata, posizionando il clip riflesso alle stesse coordinate del sorgente, dando la possibilità di scegliere nel costruttore la distanza verticale , l'intensità di visualizzazione dell'ombra e la percentuale di copertura del riflesso rispetto all'origine. La classe possiede inoltre la proprietà mirrorClip che consente di accedere direttamente al clip generato per modificarne le proprietà comuni come la posizione, la scala, l'opacità ecc...

Potete scaricare la classe compresa di esempio, da ../classes/mirror_example.zip.

Per utilizzare la classe è necessario posizionare il file "Mirror.as" nella stessa cartella del FLA in cui intendete usarla e istanziarne una copia attraverso l'operatore new. Analizziamo il costruttore della classe:

function Mirror (t:MovieClip, d:Number, a:Number, i:Number) {}

Un semplice esempio di applicazione:

// myClip è l'istanza di un clip che contiene un disegno sullo stage
var mir:Mirror = new Mirror(myClip, 20, 50, 50);

Un piccolo appunto: c'è solo una limitazione per la classe... il ridisegno che permette la creazione del riflesso avviene solo dalle coordinate 0,0 del contenuto del clip specchiato, quindi se ad esempio c'è un oggetto dentro al clip spostato a coordinate -100,-100 viene disegnata solo la parte a coordinate "positive".

E' tutto, saluti ;-).

Update 02/04/2008

Un piccolo update per "ritrattare" la limitazione descritta in precedenza, con una modifica della classe che prevede anche l'introduzione del metodo refresh() che ogni volta che viene richiamato ridisegna il riflesso, consentendo di applicare la classe anche a clip in movimento.