2011-07-29 119 views
0

我在使用as3構建flash網站。我在主頁上實現了一個xml幻燈片,但它在更改頁面時不會消失。任何人都可以告訴我如何在其他頁面上刪除它?在網站上發佈AS3幻燈片

幻燈片代碼:

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_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_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_home.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); 

} 
} 

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 
{ 

addChild(my_slideshow); 
my_slideshow.addChild(my_image_slides); 

nextImage(); 
my_timer = new Timer(my_speed*5000); 
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)-160; 
my_image.y = (stage.stageHeight - my_image.height)-100; 
new Tween(my_image,"alpha",Strong.easeOut,0,1,1,true); 
my_tweens_array[0] = new Tween(my_image,"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_FINISH, onFadeOut); 
} 

function onFadeOut(e:TweenEvent):void 
{ 
my_image_slides.removeChildAt(0); 

} 

回答

0
my_slideshow.visible = false; 

使用這個U可以看不見你的幻燈片。

但這是愚蠢的方式,因爲幻燈片仍然在後臺運行。

如果您使用的是課程級程序,您可以使用removechild方法非常輕鬆地從舞臺上移除幻燈片。這種方式很棒。

0

將此作爲一個單獨的類,然後在您的主時間軸中實例化。這種方式可以輕鬆刪除。