在加载的swf中加载图像时,AS3 ::在主swf中监听

时间:2014-12-20 10:46:04

标签: actionscript-3 load flash complete

我有一个main SWF,通过六个按钮,我加载了6个不同的swf's。 我为removelistener添加MouseEvent.CLICK,直到swfloadel。 其中五个都可以正常工作,但第六个swfgallery。在gallery swfloaded后,它开始load galleryMouseEvent.CLICK的图像正常工作。这导致web有时gallery网站不是loading

以下是main swf中的代码,其中显示了我load所有swfs的方式。

var myLoader:Loader = new Loader();
var urlReq:URLRequest;

var ar:Array = new Array(logo_menu.invest_,logo_menu.lokaliza_,logo_menu.rent_,logo_menu.news_,logo_menu.r13_,logo_menu.kontakt_);

function men_Click(e:MouseEvent):void
{
    for (var i:Number = 0; i < 6; i++)
    {
        ar[i].removeEventListener(MouseEvent.CLICK, men_Click);
    }

    if (stage.contains(myLoader))
    {   
        myLoader.content['onRemove']();
        stage.removeChild(myLoader);
    }

    urlReq = new URLRequest(e.target.name + ".swf");
    myLoader.load(urlReq);
    stage.addChild(myLoader);
    myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progessSWF);
}

for (var i:Number = 0; i < 6; i++)
{
    ar[i].addEventListener(MouseEvent.CLICK, men_Click);
}

function completSWF(e:Event):void
{
    for (var i:Number = 0; i < 6; i++)
    {
        ar[i].addEventListener(MouseEvent.CLICK, men_Click);
    }

    myLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completSWF);
}

以下是gallery swfloads所有图片的代码:

myXMLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gal/images.xml"));

function processXML(e:Event):void
{
    var myXML:XML = new XML(e.target.data);
    my_images = myXML.IMAGE;
    my_total = my_images.length();

    callThumbs();

    myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
    myXMLLoader = null;
}

function callThumbs():void
{
    for (var i:Number = 0; i < my_total; i++)
    {   
        var wideth:Number = new Number(my_images[i]. @ WIDTH);
        var thumb_url = my_images[i].@THUMB;

        thumb_loader = new Loader();

        thumb_loader.load(new URLRequest(thumb_url));
        thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

        thumb_loader.x = currentX;
        currentX +=  wideth + 10;
    }
}

function thumbLoaded(e:Event):void
{
    var my_thumb:Loader = Loader(e.target.loader);
    miniaturki.addChild(my_thumb);

    my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
}

myXMLLoader.addEventListener(Event.COMPLETE, processXML);

网站上还有指向错误的链接,点击gallery查看问题需要播放1分钟,每个CLICK都无法使用。

www.r13.com.pl

任何人都可以帮忙!

0 个答案:

没有答案