教你用AS快速画出简单实用的菜单

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

最终效果预览:

[附件:源文件下载]

源码及其解析:

//直接用AS画的菜单,功能很少,色块会随着鼠标的移动而移动.

//以下是主程序.

var menuText = new Array("我收藏的图片", "我收藏的音乐", "我的个人作品",

"我要看日记本", "现在写信给我", "进我的留言簿");

//菜单的标签.

var menuURL = new Array("http://#", "http://#", "http://#", "http://#",

"web@webjx.com", "http://www.webjx.com");

//菜单标签指向的网址.

var theItem;

//建立MC的时候就用上这个变量.

var i;

//循环变量.

var step;

//色块移动的步数.

var running;

//判断是否移动的变量.

//建立新的函数.引用时可直接用this.DrawRect(x,y,w,h);

//x,y-->坐标值,w,h-->宽和高.

MovieClip.prototype.DrawRect = function(x, y, w, h) {

this.moveTo(x, y);

this.lineTo(x+w, y);

this.lineTo(x+w, y+h);

this.lineTo(x, y+h)

this.lineTo(x, y);

};

//建立菜单项目的的函数.

//mc-->电影剪辑 x,y-->坐标 w,h-->宽,高. text-->字符串.

function CreateItem(mc, x, y, w, h, text) {

mc.createTextField("text", 2, x+10, y, 85, 20);

//建立空的动态文字段

mc.text.text = text;

//为新建的动态文字段赋值,颜色,

mc.text.textColor = 0x000000

//文字大小有无边框,可否选择.

mc.text.size = 14;

mc.text.border = false;

mc.text.selectable = false;

}

//开始建立菜单的函数.

function CreateMenu(mc) {

//建立一的电影剪辑,并在上面化一个色块.名字叫bg-->BackGround.

mc.createEmptyMovieClip("bg", 1);

//建立一个空MC

mc.bg.beginFill(0x33ccff, 100);

//开始填充

mc.bg.DrawRect(0, 0, 90, 20);

//调用函数

mc.bg.endFill();

//结束填充

mc.bg._alpha = 50;

//透明度

mc.bg._visible = false;

//可见度

//结束绘画.

//下面开始循环.

for (i=0; i

mc.createEmptyMovieClip("item"+i, 2+i);

theItem = mc["item"+i];

theItem.index = i;

CreateItem(theItem, i*90, 0, 90, 20, menuText[i]);

//桢开始时的动作.

theItem.onEnterFrame = function() {

//if语句的默认判断条件是"真"

//当running==true时.

if (running) {

if (mc.bg._x<=step*90) {

mc.bg._x += 5;

} else if (mc.bg._x>=step*90+10) {

mc.bg._x -= 5;

}

}

};

//经过时的动作.

theItem.onRollOver = function() {

mc.bg._visible = true;

running = true;

step = this.index;

};

//离开时的动作.

theItem.onRollOut = function() {

mc.bg._visible = false;

running = false;

};

//单击时的动作.

theItem.onPress = function() {

getURL(menuURL[this.index]);

};

}

//循环结束.

}

createEmptyMovieClip("menu", 10);

//建立"menu"电影剪辑.

menu._y = 0;

//坐标值.

menu._x = 0;

CreateMenu(menu);

//建立菜单.

//把这个程序放在场景的第一桢,然后运行.

//我花了一个早上写的东西.还凑和.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航