Flash XML写了个类似韩国菜单的效果
2008-09-24 来源:网络收集 作者:未知 点击: 评论:0 条
因为这次这个效果是公司的任务,我也是顺便共享出来给大家,希望给新手一些帮助,不过我并没有写出注释,希望需要的人自己能分析下,语法不算复杂!
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
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
上一篇:Flash制作文字鼠标
下一篇:没有了
下一篇:没有了
最新图文
最新评论
免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有异议,请联络本站!
转载要求:文章作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站地址,且不准打上各自站点的水印。
Google提供的广告
Copyright © 2005-2008 sj170.com, All Rights Reserved
备案号:桂ICP备06012591号
备案号:桂ICP备06012591号





