as.30加载swf轮回切换
作者:lazycat 日期:2010-05-07
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");
}
源文件
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");
}
源文件
评论: 0 | 引用: 0 | 查看次数: -
发表评论