Flash 关于网站问题的AS3幻灯片

Flash 关于网站问题的AS3幻灯片,flash,actionscript-3,slideshow,Flash,Actionscript 3,Slideshow,我正在使用as3在flash中构建一个站点。我在主页上实现了一个xml幻灯片,但它在更改页面时不会消失。有人能告诉我如何在其他页面上删除它吗 幻灯片放映代码: 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_l

我正在使用as3在flash中构建一个站点。我在主页上实现了一个xml幻灯片,但它在更改页面时不会消失。有人能告诉我如何在其他页面上删除它吗

幻灯片放映代码:

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);

} 
导入fl.transitions.Tween;
导入fl.transitions.easing.*;
导入fl.transitions.TweenEvent;
变量my_速度:数字;
var my_总计:数量;
var my_图像:xmlslist;
var my_loaders_array:array=[];
var my_success_计数器:Number=0;
变量my_回放_计数器:编号=0;
var my_幻灯片放映:精灵=新精灵();
var my_image_幻灯片:Sprite=new Sprite();
变量my_定时器:定时器;
变量my_prev_tween:tween;
var my_tweens_数组:数组=[];
var my_xml_loader:URLLoader=new URLLoader();
my_xml_loader.load(新的URLRequest(“slideshow_home.xml”);
my_xml_loader.addEventListener(Event.COMPLETE,processXML);
函数processXML(e:Event):void
{
var my_xml:xml=newxml(e.target.data);
我的速度=我的xml。@速度;
my_images=my_xml.IMAGE;
my_total=my_images.length();
loadImages();
my_xml_loader.removeEventListener(Event.COMPLETE,processXML);
my_xml_loader=null;
}
函数loadImages():void
{
对于(变量i:Number=0;i
使用此工具,您可以不可见幻灯片

但这是愚蠢的方式,因为幻灯片仍在后台运行


如果您使用类级程序,您可以使用removechild方法非常轻松地从舞台上删除幻灯片。这条路很好

将其作为一个单独的类,然后在主时间线中实例化。这样您就可以轻松地删除

my_slideshow.visible = false;