|
首页 | 名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
预览效果:http://www.vbobo.com/teach/krmenu/ 因为这次这个效果是公司的任务,我也是顺便共享出来给大家,希望给新手一些帮助,不过我并没有写出注释,希望需要的人自己能分析下,语法不算复杂! AS代码如下: stop();
System.useCodepage = true; Stage.scaleMode = "noScale"; Stage.showMenu = false; Stage.align = "T"; var mxml:XML = new XML(); mxml.ignoreWhite = true; mxml.load("MenuList.xml"); var pageID:Number = 0; mxml.onLoad = function(success) { if (!success) { trace("XML文件装载失败!"); } else { menuList = mxml.firstChild.childNodes; InitMenu(); } }; function InitMenu() { 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; } function InitCMenu(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); }; } } function menuOver() { 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{ delete this.onEnterFrame; } } }; my_color = new Color(this.MName); my_color.setRGB(0xffffff); InitCMenu(this); } function menuRelease() { getURL(menuList[this.id].attributes.url); } function menu_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 = new Color(menus.MName); my_color.setRGB(0xF3D686); } } } function InitMenuX() { 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; } function InitCMenuX() { f or (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; } 返回类别: Flash教程 上一教程: Flash制作折叠的三角形 下一教程: Flash Player 7 安全策略解析 您可以阅读与"Flash+XML写了个类似韩国菜单的效果"相关的教程: · FLASH右键菜单的应用 · Flash使用技巧--用Flash 5巧做“弹出”效果菜单 · Flash制作一款简朴的滑动菜单 · 用FLASH AS实现鼠标画圆的效果 · Flash制作一款朴素又不乏时尚效果的菜单 |
快精灵印艺坊 版权所有 | 首页会员中心在线印刷在线编辑付款方式索取样品设计指南连锁门店 |