深圳宣扬设计!手机WAP浏览支持
   
 
 
 

 
 
您现在的位置: 深圳宣扬设计 >> 设计教程 >> 网页设计教程 >> 教程正文

 
 

一种较酷导航条的原码分析           
 
一种较酷导航条的原码分析
作者:蛋蛋 文章来源:蓝色理想 点击数: 更新时间:2005-5-23

点击浏览该文件
http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=480 height=360>http://www.flash8.net/bbs/UploadFile/2004-8/200483214220959.swf
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;
}
}
点击浏览该文件
教程录入:erwin    责任编辑:erwin 
  • 上一篇教程: Flash,A-E制作与电视相关经验交流
  • 下一篇教程: AE6。5自代文字特效的使用方法
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    专题栏目

     
     
    最新热门
     
     
    最新推荐
     
     
    相关文章
  • 用asfunction创建
  • 镜头推拉的效果
  • Clock tutorial时
  • 用笛卡尔公式画出
  • 手把手教做MTV
  • 在FLASH里做字做圆
  • 好玩的麦克风
  • 用FLASH+第三方软
  • 好清新的q版人物
  • flash水果冰激凌M
  • 鼠标移入时间显出
  • 云彩特效
  •  
     
     
     
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)