Abbiamo visto che la classe MovieClip di
Flash CS4 ha la nuova proprietà z.Adesso guardiamo un esempio pratico sul quale applicare appunto questo effetto-sensazione di tridimensionale.
In questo tutorial vedremo come applicare
l' asse Z a delle immagini che se cliccate si scambiano la prospettiva tra di loro.
Creo un FLA che salvo con nome "main.fla" .
Creo una MovieClip con all' interno uno sfondo colorato quadrato.
Importo una immagine quadrata nella libreria di Flash e la colloco all' interno della MovieClip ( che naturalmente risiede sullo stage ).
Creo altre 2 istanze della stessa MovieClip ed assegno loro i nomi istanza: clip_0_mc, clip_1_mc, clip_2_mc .
Adesso creo la
Document Class, un file AS che salvo sempre nella stessa directory in cui si trova main.fla .
La Document Class è implementata in questo modo...
CODICE
package
{
import flash.display.*;
import flash.events.*;
import caurina.transitions.Tweener;
public class Main extends MovieClip
{
private var clips_array:Array;
public function Main()
{
addEventListener(Event.ADDED_TO_STAGE,init);
}
private function init(evt:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE,init);
stage.frameRate=31;
clips_array=new Array(clip_0_mc,clip_1_mc,clip_2_mc);
for(var i:int=0;i < clips_array.length;i++)
{
clips_array[i].id=i;
clips_array[i].z=400;
}
addListenersToClips();
}
private function addListenersToClips():void
{
for(var i:int=0;i < clips_array.length;i++)
{
clips_array[i].mouseChildren=false;
clips_array[i].buttonMode=true;
clips_array[i].addEventListener(MouseEvent.MOUSE_DOWN,onDown);
}
}
private function onDown(evt:MouseEvent):void
{
for(var i:int=0;i < clips_array.length;i++)
{
if(i==evt.target.id)
{
evt.target.buttonMode=false;
this.setChildIndex(evt.target as MovieClip,this.numChildren-1);
Tweener.addTween(evt.target,{z:0,time:.3,transition:"linear"});
}
else
{
clips_array[i].buttonMode=true;
Tweener.addTween(clips_array[i],{z:400,time:.3,transition:"linear"});
}
}
}
}
}