Question to say "I can!"

flash A3菜单

2011-04-23

分为两部分,一部分为准备工作,另一部分为代码~

准备工作:
1.新建一个名为item_BG的影片剪辑~
在item_BG中添加一个矩形块,大小大概就和按钮的大小差不多,具体自己调~
然后将item_BG该影片剪辑的链接名称命名为"mblock"
2.新建一个名为item_EN的影片剪辑~()
在item_EN中添加一个动态文本框,将实例名称命名为"itext",文本框位置大小自己调~
这里要注意的是在属性栏的右下方,有一个“字符...”按钮,点击可以看到字符选项~其中默认是无字符,也就是说什么字符都能显示~点击“指定范围”按钮后,可以在“包含此属性”下的输入框中输入字符或文字,只有这些文字或字符才能显示~
3.新建一个名为item_ZH的影片剪辑~
在item_EN中添加一个动态文本框,将实例名称命名为"itext",文本框位置大小自己调~
很多朋友都是在这里搞不懂,不明白为什么自己添加的文字不能够显示,看了上面第二段应该可以明白了~只需要把自己添加的文字加在“包含此属性”下的输入框中~
4.另外新建两个影片剪辑,分别为item_L和item_TOPLine~
item_L就是分割线,item_TOPLine则是文字上方的颜色条,大小位置自己调~
5.新建名为MenuItem的影片剪辑~
这里主要是把刚才做的各个影片剪辑排布好~
实例名分别如下:
item_TOPLine:topLine
item_L:mc_L
item_EN:mc_EN
item_ZH:mc_CH
并将MenuItem该影片剪辑的链接名称命名为"MenuItem"~
所有的准备工作的做好了,接下来添加代码~
回到主场景,在第一帧添加如下代码:

var drag=0.1;//震动参数
var flex=0.7;//震动参数
var menuEN=new Array("Frame","Layer","Tween","Path-Mask","Sound","Creative");
var menuZH = new Array("帧和逐帧", "图层操作", "补间动画", "路径遮罩", "声音元件", "综合创作");
var menuURL=new Array("../frame/frame.htm","../layer/layer.htm","../tween/tween.htm","../path-mask/path-mask.htm","../sound/sound.htm","../creative/creative.htm","../about/about.htm");
var menuColor=new Array(0xD808B8,0x00A2FF,0x96D302,0xFFC600,0xFF5400,0x7908D8,0x02D396);
var mBlock=this.attachMovie("mblock","mb",0);
mBlock._y=5;
mBlock.goalX=-100;
mBlock.onEnterFrame=function(){
this.Step = this.Step * flex + (this.goalX - this.px) * drag;
this.px+=this.Step;
this._x=this.px;
if(this.sOut && this._xscale<99.5) this._xscale+=(100-this._xscale)/8;
if(this.sIn && this._xscale>0.1) this._xscale+=-this._xscale/8;
}
var MBColor=new Color(mBlock);
for(var i=0;i<menuZH.length;i++){
var theItem=this.attachMovie("MenuItem","Item"+i,i+10);
theItem._x=i*84;
theItem.mColor=menuColor[i];
theItem.URL=menuURL[i];
theItem.mc_ZH.itext.text=menuZH[i];
theItem.mc_EN.itext.text=menuEN[i];
theItem.onEnterFrame=function(){
if(this.fadeOut){
if(this.topLine._alpha<99.5) this.topLine._alpha+=(100-this.topLine._alpha)/8;
if(this.mc_EN._alpha>0.5) this.mc_EN._alpha+=-this.mc_EN._alpha/8;
if(this.mc_ZH._xscale<130) {this.mc_ZH._xscale+=2;this.mc_ZH._yscale+=2;}
}

if(this.fadeIn){
if(this.mc_EN._alpha<99.5) this.mc_EN._alpha+=(100-this.mc_EN._alpha)/8;
if(this.topLine._alpha>0.5) this.topLine._alpha+=-this.topLine._alpha/8;
if(this.mc_ZH._xscale>100) {this.mc_ZH._xscale-=2;this.mc_ZH._yscale-=2;}
}
}
theItem.onRollOver=function(){
mBlock.goalX=this._x+42;
mBlock.sOut=true;
mBlock.sIn=false;
MBColor.setRGB(this.mColor);
new Color(this.topLine).setRGB(this.mColor);
//new Color(this.mc_ZH).setRGB(0xFFFFFF);
this.fadeOut=true;
this.fadeIn=false;
}
theItem.onRollOut=function(){
mBlock.sOut=false;
mBlock.sIn=true;
//new Color(this.mc_ZH).setRGB(0x000000);
this.fadeIn=true;
this.fadeOut=false;
}
theItem.onRelease=function(){
getURL(this.URL);
}
}

stop();



作者:admin | Categories:设计问题 | Tags:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

无觅相关文章插件,快速提升流量