一种较酷导航条的原码分析
作者:蛋蛋 类型:转载 来源:蓝色理想
点击浏览该文件var menu_Lables=new Array("Home","Service","Products","Solution","About","Feedback","Other","More");//一个用于放导航条上的文字的数组.(一般多个按钮上的文字用数组添加较为方便);
var menu_minScale=100;//导航条的最小缩放系数
var menu_maxScale=130;;//导航条的最大缩放系数
var menu_StartX=300;
var menu_StartY=30;//导航条的X,Y位置;
var IconNumber=9;//图标的数量
var Icon_minScale=30;//图标的最小缩放系数
var Icon_maxScale=60;//图标的最小缩放系数
var Icon_Space=4;//图标之间的空格 var DockMenu=createEmptyMovieClip("dmenu",10);//创建一个空MC
DockMenu._x=menu_StartX;
DockMenu._y=menu_StartY;
for(var i=0;i<IconNumber;i++){
var theItem=DockMenu.attachMovie("icon"+i,"item"+i,i+10);//从库中链接MC到DockMenu中(在库中MC上的链接属性上一定要选择"为动作脚本导出")
theItem.attachMovie("label","ilabel",10);//同上
theItem.preItem=DockMenu["item"+(i-1)];//前一个图标
theItem._x=theItem.preItem._x+theItem.preItem._width+Icon_Space;//每一个图标的位置等于前一个图标的位置+前一个图标的宽+图标之间的间隔;
theItem.ilabel.label.text=menu_Lables[i];//每个MC内的文本框内要显示的字
theItem.ilabel._visible=false;//开始时字不可见
theItem._xscale=Icon_minScale;
theItem._yscale=Icon_minScale;//每个图标开始时的缩放系数为最小缩放
theItem.onRollOver=function(){
this.ilabel._visible=true;//鼠标移到图标上文字可见;
}
theItem.onRollOut=theItem.onReleaseOutside=function(){
this.ilabel._visible=false; //鼠标移出或在外释放时,文字不可见
}
theItem.onEnterFrame=function(){
if(this._parent.mover){
var scale=Icon_maxScale-Math.abs(DockMenu._xmouse-this._x-30)/5;//放大尺寸和鼠标位置有关;
if (scale<Icon_minScale) scale=Icon_minScale;
this._xscale+=(scale-this._xscale)/3;
this._yscale+=(scale-this._yscale)/3;//尺寸缓冲效果
}
if(this._parent.mout){
this._xscale+=(Icon_minScale-this._xscale)/3
this._yscale+=(Icon_minScale-this._yscale)/3
}//尺寸缓冲效果;
this._x+=(this.PreItem._x+this.PreItem._width+Icon_Space-this._x)/3; //位置缓冲效果
}
}
var theBGBox=DockMenu.attachMovie("bgbar","bgbox",1);
theBGBox.onEnterFrame=function(){
this._x=DockMenu["item0"]._x;
this._width=DockMenu["item"+(IconNumber-2)]._x+DockMenu["item"+(IconNumber-2)]._width-DockMenu["itemCon"]._x;//计算导航条的位置;
}
DockMenu.onMouseMove=function(){
if(this.hitTest(_root._xmouse,_root._ymouse,false)){/鼠标/碰撞测试
this.mover=true;
this.mout=false;//如果碰撞,赋值mover=true;mout=false;
}else{
this.mover=false;
this.mout=true;;//如果不碰撞,赋值mover=false;mout=true;
}
}
var menu_minScale=100;//导航条的最小缩放系数
var menu_maxScale=130;;//导航条的最大缩放系数
var menu_StartX=300;
var menu_StartY=30;//导航条的X,Y位置;
var IconNumber=9;//图标的数量
var Icon_minScale=30;//图标的最小缩放系数
var Icon_maxScale=60;//图标的最小缩放系数
var Icon_Space=4;//图标之间的空格 var DockMenu=createEmptyMovieClip("dmenu",10);//创建一个空MC
DockMenu._x=menu_StartX;
DockMenu._y=menu_StartY;
for(var i=0;i<IconNumber;i++){
var theItem=DockMenu.attachMovie("icon"+i,"item"+i,i+10);//从库中链接MC到DockMenu中(在库中MC上的链接属性上一定要选择"为动作脚本导出")
theItem.attachMovie("label","ilabel",10);//同上
theItem.preItem=DockMenu["item"+(i-1)];//前一个图标
theItem._x=theItem.preItem._x+theItem.preItem._width+Icon_Space;//每一个图标的位置等于前一个图标的位置+前一个图标的宽+图标之间的间隔;
theItem.ilabel.label.text=menu_Lables[i];//每个MC内的文本框内要显示的字
theItem.ilabel._visible=false;//开始时字不可见
theItem._xscale=Icon_minScale;
theItem._yscale=Icon_minScale;//每个图标开始时的缩放系数为最小缩放
theItem.onRollOver=function(){
this.ilabel._visible=true;//鼠标移到图标上文字可见;
}
theItem.onRollOut=theItem.onReleaseOutside=function(){
this.ilabel._visible=false; //鼠标移出或在外释放时,文字不可见
}
theItem.onEnterFrame=function(){
if(this._parent.mover){
var scale=Icon_maxScale-Math.abs(DockMenu._xmouse-this._x-30)/5;//放大尺寸和鼠标位置有关;
if (scale<Icon_minScale) scale=Icon_minScale;
this._xscale+=(scale-this._xscale)/3;
this._yscale+=(scale-this._yscale)/3;//尺寸缓冲效果
}
if(this._parent.mout){
this._xscale+=(Icon_minScale-this._xscale)/3
this._yscale+=(Icon_minScale-this._yscale)/3
}//尺寸缓冲效果;
this._x+=(this.PreItem._x+this.PreItem._width+Icon_Space-this._x)/3; //位置缓冲效果
}
}
var theBGBox=DockMenu.attachMovie("bgbar","bgbox",1);
theBGBox.onEnterFrame=function(){
this._x=DockMenu["item0"]._x;
this._width=DockMenu["item"+(IconNumber-2)]._x+DockMenu["item"+(IconNumber-2)]._width-DockMenu["itemCon"]._x;//计算导航条的位置;
}
DockMenu.onMouseMove=function(){
if(this.hitTest(_root._xmouse,_root._ymouse,false)){/鼠标/碰撞测试
this.mover=true;
this.mout=false;//如果碰撞,赋值mover=true;mout=false;
}else{
this.mover=false;
this.mout=true;;//如果不碰撞,赋值mover=false;mout=true;
}
}
点击浏览该文件
责任编辑:uufeng 时间:2004年8月4日
- 上一篇:
- AE6。5自代文字特效的使用方法
- 下一篇:
- Flash,A-E制作与电视相关经验交流
- 相关教材
- 基础导航条制作
- 按钮导航条
- 导航条按钮控制对象
- 真正的A3 导航条
- 韩国导航条解析
- 闪客帝国导航条的制作
- 最近更新
