Questo è il codice!
PHP Code:
/*
*************************************
* Header *
* http://www.FlepStudio.org *
* © Author: Filippo Lughi *
* version 1.0 *
*************************************
*/
package
{
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Point;
import flash.utils.Timer;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.events.ContextMenuEvent;
import flash.ui.ContextMenu;
import flash.ui.ContextMenuItem;
import flash.net.URLRequest;
import flash.net.navigateToURL;
public class Main extends MovieClip
{
private var clips_array:Array;
private var masks_array:Array;
private var points_array:Array;
private var bit_data:BitmapData;
private var clip_mc:MovieClip;
private var mask_mc:MovieClip;
private var counter:int=0;
private var numeroMaschere:int=10;
private var timer:Timer;
public function Main()
{
initMenu();
init();
contaImmagini();
initBitmap();
initPoints();
initMask();
fadeMask();
}
private function init():void
{
stage.frameRate=31;
clips_array=new Array();
points_array=new Array();
}
private function contaImmagini():void
{
var point:Point=new Point(stage.stageWidth/2,stage.stageHeight/2);
var objects:Array=this.getObjectsUnderPoint(point);
for(var i:int=0;i<objects.length;i++)
{
clips_array.push(objects[i].parent);
}
}
private function initBitmap():void
{
for(var i:int=0;i<clips_array.length;i++)
{
clips_array[i].visible=false;
if(i==counter)
clips_array[i].visible=true;
else if(i==counter-1)
clips_array[i].visible=true;
}
if(counter==0)
clips_array[clips_array.length-1].visible=true;
mask_mc=new MovieClip();
this.addChild(mask_mc);
swapChildren(clips_array[counter],mask_mc);
swapChildren(logo_mc,clips_array[counter]);
clips_array[counter].mask=mask_mc;
}
private function initPoints():void
{
var boo:Boolean=true;
var doppio:int=numeroMaschere*2;
var w:Number=Math.floor(clips_array[0].width/doppio);
var h:Number=Math.floor(clips_array[0].height/numeroMaschere);
for(var i:int=0;i<doppio;i++)
{
for(var j:int=0;j<numeroMaschere;j++)
{
if(!boo)
{
var point:Point;
point=new Point(clips_array[0].x+w*i,clips_array[0].y+h*(numeroMaschere-1-j));
points_array.push(point);
}
else
{
var point2:Point;
point2=new Point(clips_array[0].x+w*i,clips_array[0].y+h*j);
points_array.push(point2);
}
}
boo=!boo;
}
}
private function initMask():void
{
masks_array=new Array();
var doppio:int=numeroMaschere*2;
var w:Number=clips_array[0].width/doppio;
var h:Number=clips_array[0].height/numeroMaschere;
for(var k:int=0;k<points_array.length;k++)
{
var clip:MovieClip=new MovieClip();
clip.graphics.beginFill(0x66FF00,1);
clip.graphics.moveTo(0,0);
clip.graphics.lineTo(-w/2,-h/2);
clip.graphics.lineTo(w/2,-h/2);
clip.graphics.lineTo(w/2,h/2);
clip.graphics.lineTo(-w/2,h/2);
clip.graphics.lineTo(-w/2,-h/2);
clip.graphics.endFill();
clip.scaleX=0;
clip.scaleY=0;
masks_array.push(clip);
}
for(var s:int=0;s<masks_array.length;s++)
{
masks_array[s].x=points_array[s].x+w/2;
masks_array[s].y=points_array[s].y+h/2;
mask_mc.addChild(masks_array[s]);
}
}
private function fadeMask():void
{
timer=new Timer(30,masks_array.length);
timer.addEventListener(TimerEvent.TIMER,go);
timer.addEventListener(TimerEvent.TIMER_COMPLETE,stopp);
timer.start();
function go(t:TimerEvent):void
{
masks_array[timer.currentCount-1].addEventListener(Event.ENTER_FRAME,expandMask);
}
function stopp(t:TimerEvent):void
{
// ****IMPOSTARE LA VELOCITA ( non meno di 2000 )*****
/**/timer=new Timer(4000,1); /**/
//**************************************************//
timer.addEventListener(TimerEvent.TIMER,avanza);
timer.start();
}
}
private function expandMask(e:Event):void
{
e.target.arrX=1;
var dx:Number=e.target.arrX-e.target.scaleX;
var ax:Number=dx*.15;
e.target.scaleX+=ax;
e.target.scaleY+=ax;
if(Math.abs(dx)<=.03)
{
e.target.scaleX=e.target.arrX;
e.target.scaleY=e.target.arrX;
e.target.removeEventListener(Event.ENTER_FRAME,expandMask);
}
}
private function avanza(t:TimerEvent):void
{
counter++;
if(counter>=clips_array.length)
counter=0;
clips_array[counter].mask=null;
removeChild(mask_mc);
initBitmap();
initMask();
fadeMask();
}
// NON rimuovere per favore !
public function initMenu():void
{
var etichetta:String='© FlepStudio.org';
var cm:ContextMenu=new ContextMenu();
var item:ContextMenuItem=new ContextMenuItem(etichetta);
cm.hideBuiltInItems();
cm.customItems.push(item);
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1);
this.contextMenu=cm;
}
private function itemHandler1(event:ContextMenuEvent):void
{
var url:String='http://www.flepstudio.org/';
var request:URLRequest=new URLRequest(url);
navigateToURL(request,'_parent');
}
}
}