questo è il file rifletti.as tale e quale a quello del tutorial
Codice PHP:
package {
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Matrix;
import flash.display.GradientType;
import flash.display.SpreadMethod;
public class rifletti extends MovieClip {
private var sorgente:MovieClip;
private var duplicato:BitmapData;
private var riflesso:Bitmap;
private var maschera:MovieClip;
public function rifletti(mc,distanza,colore,influ) {
//trace(mc)
// Memorizzo il riferimento alla clip originale
sorgente=mc;
// Ricavo altezza e larghezza della clip
var altezza:Number=sorgente.height;
var larghezza:Number=sorgente.width;
trace(altezza,larghezza);
// Preparo un oggetto bitmapData con la copia dell'immagine
duplicato=new BitmapData(larghezza,altezza,true,0xFFFFFF);
duplicato.draw(sorgente);
// creo la copia dell'immagine originale
riflesso=new Bitmap(duplicato);
// La inverto (corrisponde alla rotazione di 180 gradi)
riflesso.scaleY=-1;
// e la posiziono al di sotto del movieclip originale
riflesso.y=sorgente.height*2+distanza;
riflesso.name="riflesso";
// Quindi la aggiungo all'interno della clip originale
sorgente.addChild(riflesso);
// creo la clip da utilizzare con riempimento gradiente
maschera = new MovieClip();
// Imposto uno riempimento gradiente lineare di colore bianco, con alpha da 0 ad 1 e che influenzi
// circa metà clip
var riempimento:String=GradientType.LINEAR;
var colori:Array=[colore,colore];
var trasparenza:Array=[0,1];
var influenza:Array=[0,influ];
// imposto lo stile del gradiente
var spreadMethod:String=SpreadMethod.PAD;
// creo la matrice per il riempimento
var matr:Matrix = new Matrix();
// Creo il riempimento gradiente
matr.createGradientBox(larghezza, altezza,(90/180)*Math.PI, 0, 0);
maschera.graphics.beginGradientFill(riempimento, colori,trasparenza, influenza, matr, spreadMethod);
// Disegno la clip, con dimensioni pari a quelle del clip sorgente
maschera.graphics.drawRect(0,0,larghezza,altezza);
// posiziono la clip gradiente sopra alla clip riflessa
maschera.y=sorgente.getChildByName("riflesso").y-sorgente.getChildByName("riflesso").height;
sorgente.addChild(maschera);
}
}
}