mc_url_array.length-1) { mcIndex = 0; } btnShowHandler(mcIndex); mcSwitch(); } } }}/*btn_mc点击时*/function clickHandler(evt:Event):void{ mcIndex = evt.currentTarget.mcIndex; btnShowHandler(mcIndex); mcSwitch();}/*btn_mc显示状态*/function btnShowHandler(index:int):void{ for (var i:int = 0; i as.30加载swf轮回切换 - dragon-art

as.30加载swf轮回切换

stage.showDefaultContextMenu = false;
stage.scaleMode = "noScale";
/*
变量声明区域
------------------------------------------------------------*/

/*mc索引编号*/
var mcIndex:int = 0;
var items_xml:XML;
var mc_url_array:Array = new Array();
var mc_link_array:Array = new Array();
loadXML("index.xml");

/*创建空mc到舞台,main_mc*/
var main_mc:MovieClip = new MovieClip();
main_mc.name = "main_mc";
addChild(main_mc);

/*使用loader方法加载swf,装入container_mc*/
var mc_loader:Loader = new Loader();
mc_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
mc_loader.contentLoaderInfo.addEventListener(Event.INIT,initHandler);
mc_loader.addEventListener(Event.ENTER_FRAME,enterFrameHandler);

/*创建空mc到舞台,loading_mc,作为加载swf显示进度用。*/
var loading_mc:MovieClip = new MovieClip();
loading_mc.x = 0;
loading_mc.y = stage.stageHeight;
addChild(loading_mc);

var loading_bar:Shape = new Shape();
loading_bar.graphics.beginFill(0x000000);
loading_bar.graphics.drawRect(0,-5,5,5);
loading_bar.graphics.endFill();
loading_mc.addChild(loading_bar);

/*
函数模块区域
------------------------------------------------------------*/
/*加载xml*/
function loadXML(xml_url:String):void
{
    var xml_urlLoader:URLLoader = new URLLoader();
    xml_urlLoader.addEventListener(Event.COMPLETE,onLoadHandler);
    xml_urlLoader.load(new URLRequest(xml_url));
}

/*加载xml成功时触发*/
function onLoadHandler(evt:Event):void
{
    //获得xml数据
    items_xml = new XML(evt.target.data);
    for (var i:int = 0; i<items_xml.children().length(); i++)
    {
        //提取xml中的属性值,并存储到各自数组中
        mc_url_array.push(items_xml.children()[i].@url.toXMLString());
        mc_link_array.push(items_xml.children()[i].@link.toXMLString());

        //根据xml中的url值的条数,添加btn_mc
        var btn_mc:MovieClip = new btn_mc_linkage();
        addChild(btn_mc);
        btn_mc.name = "btn_mc"+i;
        btn_mc.txt.text = i+1;
        btn_mc.mcIndex = i;
        btn_mc.x = 20+25*i;
        btn_mc.y = 133;
        btn_mc.addEventListener(MouseEvent.CLICK,clickHandler);
    }
    btnShowHandler(mcIndex);
    mcSwitch();
}

/*影片切换*/
function mcSwitch():void
{
    //创建空mc,main_mc.container_mc
    var container_mc:MovieClip = new MovieClip();
    container_mc.name = "container_mc";
    main_mc.addChild(container_mc);
    container_mc.buttonMode = true;
    container_mc.addEventListener(MouseEvent.CLICK,linkHandler);

    //使用loader方法加载swf,装入container_mc
    mc_loader.load(new URLRequest(mc_url_array[mcIndex]));
    container_mc.addChild(mc_loader);
}

/*加载mc*/
function progressHandler(evt:ProgressEvent):void
{
    var precent:int = Math.floor((evt.bytesLoaded/evt.bytesTotal)*100);
    loading_mc.alpha = 100;
    loading_mc.width = 735/100*precent;
}
function initHandler(evt:Event):void
{
    if (loading_mc.width == stage.stageWidth)
    {
        loading_mc.alpha = 0;
    }
    MovieClip(evt.target.loader.content).gotoAndPlay(2);
}

/*监听container_mc的帧数*/
function enterFrameHandler(evt:Event):void
{
    /*
    loader对象在还没把mc载进来之前.
    evt.target.content as MovieClip得到的值是null.
    载完以后这句话得到的值才是loader的mc
    */
    var container_content_mc:MovieClip = evt.target.content as MovieClip;
    if (container_content_mc != null)
    {
        var totalframes:int = container_content_mc.totalFrames;
        var currentframe:int = container_content_mc.currentFrame;
        if (totalframes > 1)
        {
            if (currentframe == totalframes)
            {
                mcIndex++;
                if (mcIndex > mc_url_array.length-1)
                {
                    mcIndex = 0;
                }
                btnShowHandler(mcIndex);
                mcSwitch();
            }
        }
    }
}

/*btn_mc点击时*/
function clickHandler(evt:Event):void
{
    mcIndex = evt.currentTarget.mcIndex;
    btnShowHandler(mcIndex);
    mcSwitch();
}

/*btn_mc显示状态*/
function btnShowHandler(index:int):void
{
    for (var i:int = 0; i<mc_url_array.length; i++)
    {
        MovieClip(getChildByName("btn_mc" + i)).gotoAndStop(1);
    }
    MovieClip(getChildByName("btn_mc" + index)).gotoAndStop(2);
}

/*container_mc点击进入相应链接*/
function linkHandler(evt:Event):void
{
    navigateToURL(new URLRequest(mc_link_array[mcIndex]),"_self");
}
源文件


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.