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

2008-04-02 11:01:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


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

  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;

  }


  


  


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 电闪雷鸣、小雨纷飞的效果,Flash制作方法

下一篇: FLASH制作一个能够伸缩的导航条