Salve, sono poco esperto di as3, (ho iniziato ieri a studiarlo) sto creando un sito in flash dove all'interno c'è una slideshow di immagini, questa slide show parte correttamente, ma poi quando clicco un pulstante per andare in un altra sezione del sito dovrebbe chiudersi, invece mi rimane sempre in primo piano.
Il codice del slideswo è questo.
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var my_speed:Number;
var my_total:Number;
var my_images:XMLList;
var my_loaders_array:Array=[];
var my_labels_array:Array=[];
var my_success_counter:Number=0;
var my_playback_counter:Number=0;
var my_slideshow:Sprite = new Sprite();
var my_image_slides:Sprite = new Sprite();
var my_label_slides:Sprite = new Sprite();
var my_preloader:TextField;
var my_timer:Timer;
var my_prev_tween:Tween;
var my_tweens_array:Array=[];
var my_xml_loader:URLLoader = new URLLoader();
my_xml_loader.load(new URLRequest("slideshow.xml"));
my_xml_loader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var my_xml:XML=new XML(e.target.data);
my_speed=my_xml.@SPEED;
my_images=my_xml.IMAGE;
my_total=my_images.length();
loadImages();
my_xml_loader.removeEventListener(Event.COMPLETE, processXML);
my_xml_loader=null;
}
function loadImages():void {
for (var i:Number = 0; i < my_total; i++) {
var my_url:String=my_images[i].@URL;
var my_loader:Loader = new Loader();
my_loader.load(new URLRequest(my_url));
my_loader.contentLoaderInfo.addEventListener(Event .COMPLETE, onComplete);
my_loaders_array.push(my_loader);
var my_label:TextField = new TextField();
my_label.text=my_images[i].@TITLE;
my_label.autoSize=TextFieldAutoSize.LEFT;
my_labels_array.push(my_label);
}
my_preloader = new TextField();
my_preloader.text="Caricamento...";
my_preloader.autoSize=TextFieldAutoSize.CENTER;
my_preloader.x = (stage.stageWidth - my_preloader.width)/1;
my_preloader.y = (stage.stageHeight - my_preloader.height)/1;
addChild(my_preloader);
}
function onComplete(e:Event):void {
my_success_counter++;
if (my_success_counter==my_total) {
startShow();
}
var my_loaderInfo:LoaderInfo=LoaderInfo(e.target);
my_loaderInfo.removeEventListener(Event.COMPLETE, onComplete);
}
function startShow():void {
removeChild(my_preloader);
my_preloader=null;
addChild(my_slideshow);
my_slideshow.addChild(my_image_slides);
my_slideshow.addChild(my_label_slides);
nextImage();
my_timer=new Timer(my_speed*1000);
my_timer.addEventListener(TimerEvent.TIMER, timerListener);
my_timer.start();
}
function nextImage():void {
var my_image:Loader=Loader(my_loaders_array[my_playback_counter]);
my_image_slides.addChild(my_image);
my_image.x = (stage.stageWidth - my_image.width)/15;
my_image.y = (stage.stageHeight - my_image.height)/1;
my_tweens_array[0]=new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true);
var my_label:TextField=TextField(my_labels_array[my_playback_counter]);
my_label_slides.addChild(my_label);
my_label.x=my_image.x;
my_label.y=my_image.y+my_image.height;
my_tweens_array[1]=new Tween(my_label,"alpha",Strong.easeOut,0,1,1,true);
}
function timerListener(e:TimerEvent):void {
hidePrev();
my_playback_counter++;
if (my_playback_counter==my_total) {
my_playback_counter=0;
}
nextImage();
}
function hidePrev():void {
var my_image:Loader=Loader(my_image_slides.getChildAt( 0));
my_prev_tween=new Tween(my_image,"alpha",Strong.easeOut,1,0,1,true);
my_prev_tween.addEventListener(TweenEvent.MOTION_F INISH, onFadeOut);
var my_label:TextField=TextField(my_label_slides.getCh ildAt(0));
my_tweens_array[2]=new Tween(my_label,"alpha",Strong.easeOut,1,0,1,true);
}
function onFadeOut(e:TweenEvent):void {
my_image_slides.removeChildAt(0);
my_label_slides.removeChildAt(0);
}
Datemi un mano!

Rispondi quotando