手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Flash>列表

Flash XML写了个类似韩国菜单的效果

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  因为这次这个效果是公司的任务,我也是顺便共享出来给大家,希望给新手一些帮助,但是我并没有写出注释,希望需要的人自己能分析下,语法不算复杂!

  AS代码如下:

  
stop();

  System.useCodepage=true;

  Stage.scaleMode="noScale";

  Stage.showMenu=false;

  Stage.align="T";

  varmxml:XML=newXML();

  mxml.ignoreWhite=true;

  mxml.load("MenuList.xml");

  varpageID:Number=0;

  mxml.onLoad=function(success){

  if(!success){

  trace("XML文档装载失败!");

  }else{

  menuList=mxml.firstChild.childNodes;

  InitMenu();

  }

  };

  functionInitMenu(){

  createEmptyMovieClip("myMenu",-1);

  myMenu._y=263;

  myMenu.onEnterFrame=InitMenuX;

  MLN=menuList.length;

  for(i=0;i<MLN;i ){

  loads=createEmptyMovieClip("loadx" i,i);

  loads.loadMovie(menuList[i].attributes.swf);

  loads._xscale=loads._yscale=0;

  loads._visible=false;

  menus=myMenu.attachMovie("menu","menu" i,i);

  menus.menu_box._visible=false;

  menus.menu_box._xscale=1;

  menus.MName.text=menuList[i].attributes.name;

  menus.id=i;

  menus.onRollOver=menuOver;

  menus.onRelease=menuRelease;

  }

  myMenu["menu" pageID].onEnterFrame=menuOver;

  }

  functionInitCMenu(cmenuMC){

  createEmptyMovieClip("CMenu",-2);

  myMC=cmenuMC;

  CMenu._y=-50;

  CMenu.onEnterFrame=InitCMenuX;

  cmenuList=menuList[cmenuMC.id].childNodes;

  CLL=cmenuList.length;

  for(i=0;i<CLL;i ){

  cmenus=CMenu.attachMovie("cmenu","cmenu" i,i);

  cmenus.CMenu.text=cmenuList[i].attributes.name;

  cmenus.id=i;

  cmenus.onRelease=function(){

  getURL(cmenuList[this.id].attributes.url);

  };

  }

  }

  functionmenuOver(){

  menu_box_fun(this);

  this.loadICon.loadMovie(menuList[this.id].attributes.swf);

  this.loadICon._x=7;

  this.loadICon._alpha=0;

  this.onEnterFrame=function(){

  if(this.loadICon._height!=0){

  this.loadICon._y=(this.menu_box._y this.menu_box._height)-this.loadICon._height;

  if(this.loadICon._alpha<100){

  this.loadICon._alpha =4.5;

  }else{

  deletethis.onEnterFrame;

  }

  }

  };

  my_color=newColor(this.MName);

  my_color.setRGB(0xffffff);

  InitCMenu(this);

  }

  functionmenuRelease(){

  getURL(menuList[this.id].attributes.url);

  }

  functionmenu_box_fun(thisMC){

  for(i=0;i<MLN;i ){

  menus=myMenu["menu" i];

  if(menus==thisMC){

  menus.menu_box._visible=true;

  menus.menu_box._xscale=100;

  }else{

  menus.loadICon.unloadMovie();

  menus.menu_box._visible=false;

  menus.menu_box._xscale=1;

  my_color=newColor(menus.MName);

  my_color.setRGB(0xF3D686);

  }

  }

  }

  functionInitMenuX(){

  for(i=0;i<MLN;i ){

  menus=myMenu["menu" i];

  mmbv=menus.menu_box._visible;

  menus.MName._x =mmbv==true?(60-menus.MName._x)*0.2:(0-menus.MName._x)*0.2;

  menux=myMenu["menu" (i-1)];

  menuXW=menux._x menux._width;

  menus._x =(menuXW-menus._x)*0.2;

  }

  myMenu._x =((flash_box._width-(myMenu._width 10))-myMenu._x)*0.2;

  }

  functionInitCMenuX(){

  for(i=0;i<CLL;i ){

  cmenus=CMenu["cmenu" i];

  cmenux=CMenu["cmenu" (i-1)];

  cmenuXW=cmenux._x cmenux._width;

  cmenus._x =(cmenuXW-cmenus._x)*0.2;

  }

  myX=myMC.MName._x myMC._x myMenu._x;

  CMenu._x=myX CMenu._width>1000?1000-CMenu._width:myX;

  CMenu._y=myMenu._y 41;

  }


  


  


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!