动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 图形图象 > FLASH教程
图形图象:Photoshop,Fireworks,CorelDraw,Flash,3Dmax,AutoCad,Maya,Director,Authorware,Illustrator,相关软件
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ FLASH教程 ]的信息



本月文章推荐
.拖出自己的精彩—谈Flash MX课件.
.Flash入门应该了解的重要概念.
.xml辅助flash电子地图标注地名.
.Flash实例精通:教你制作马赛克效.
.用Flash制作简单的缓冲菜单的教程.
.FLASH动画制作常用命令大集合.
.学习Flash ActionScript编程的注.
.FLASH中使用打印机功能(可设置打.
.给FLASH初学者的10点制作经验.
.Adobe Flash 2006发展趋势预测.
.Flash实例:打造佛光效果.
.Flash实例精通:教你制作交互式二.
.使用Flash引导线制作雪花飘飘动画.
.Flash片头加载loading的基础讨论.
.我的世界杯:FLASH制作滚动足球动.
.Flash MX 2004 Media组件实现多首.
.Flash中作毛笔写字动画效果.
.用Flash AS代码制作按钮弹出窗口.
.Flash片头loading与MovieClipLoa.
.有关Flash ActionScript3编程的总.

Flash动态缓冲图片导航制作详解

文章类别:FLASH教程 | 发表日期:2006-10-6 |


  缓冲公式在制作特效中非常有用,著名的三星导航菜单就用到了此公式。现在许多网站出尽风头,其中缓冲导航是其一大亮点。本文以一德国网站的导航为例,详解缓冲导航的制作。这个效果是我和溶剂共同完成的,他提供坐标的算法,我提供缩放的算法。

  本例效果演示


鼠标划过的部分图片会变大

  制作思路

  1. 图片缩放控制
    利用缓冲公式设置图片的缩放比例,如果鼠标滑过某图片,放大1.8倍。如果其它图片的序号与此图片的序号相差1,就是此图片两边的图片,放大1.4倍,其它的为原始大小。
  2. 图片坐标控制
    当某图片放大时,相邻的图片的坐标等于此图片的坐标加上这两张图片的宽度的一半,实现图片无间距排列。
  3. 线条和文字控制
    线条用画线函数实现,文字的坐标和缩放比例与对应的图片相同。

  制作过程
  1、启动Flash,新建一个影片,设置影片大小为600px*200px。
  准备好如图中的素材,图片的实例名分别为zjs0到zjs4,文字的实例名分别为z0到z4。
  把中间的图片坐标设为(300,130),选中全部的图片,按CTRL+K调出排列面板,设置为顶部对齐,使图片的y坐标相同,图片的x坐标通过AS来控制。用同样的方法使方字的y坐标相同,并调整好文字和图片的间距。

  2、在主场景中的第一帧上添加下列代码

 
//获取中间图片的x坐标 
for (var i = 0; i<5; i++) { 
 this["zjs"+i].n = i; 
 //每个图片MC下定义一个变量 
 this["zjs"+i].onRollOver = function() { 
  control = true; 
  //鼠标滑过图片时为真 
 }; 
 this["zjs"+i].onRollOut = function() { 
  control = false; 
  //鼠标移出图片时为假 
 }; 
} 
onEnterFrame = function () { 
 for (var k = 0; k<5; k++) { 
  this["z"+k]._x = this["zjs"+k]._x; 
  // 说明文字的x坐标等于本应图片的x坐标 
  this["z"+k]._xscale = this["zjs"+k]._xscale; 
  this["z"+k]._yscale = this["zjs"+k]._yscale; 
  // 说明文字的缩放比例与图片相同 
 } 
 if (control) { 
  mouse_in(); 
 } else { 
  mouse_out(); 
 } 
 // 条件真或假时调用函数 
}; 
//坐标设置函数 
function setX() { 
 for (var k = -2; k<3; k++) { 
  this["zjs"+(k+2)]._x = myx+this["zjs"+2]._width*k; 
  //以中间图片为准无间距排列 
 } 
 for (var k = Number(temp1)+1; k<5; k++) { 
  //temp1为缩放比例最大的图片下的变量值 
  var mc1 = this["zjs"+k]; 
  var mc2 = this["zjs"+(k-1)]; 
  //此图片右边的其它图片 
  mc1._x = mc2._x+(mc2._width+mc1._width)/2-1; 
  //设置这些图片的x坐标,1为消除图片间的空隙 
 } 
 for (var k = Number(temp1)-1; k>-1; k--) { 
  var mc1 = this["zjs"+k]; 
  var mc2 = this["zjs"+(k+1)]; 
  mc1._x = mc2._x-(mc2._width+mc1._width)/2+1; 
 } 
 //缩放比例最大的图片的左边的图片的x坐标设置 
 myLine(); 
 //图片下方的线条 
} 
//比例缩放函数 
function move_scale(x, obj) { 
 speed = (x-obj._xscale)*.65+speed*0.6; 
 obj._xscale += speed; 
 obj._yscale += speed; 
 //缓冲公式,x为图片的缩放比例,obj为MC 
} 
//鼠标滑过图片时,图片的缩放、x坐标设置函数 
function mouse_in() { 
 for (var i = 0; i<5; i++) { 
  var mc = this["zjs"+i]; 
  //获得实例名 
  if (mc.hitTest(_xmouse, _ymouse, true)) { 
   move_scale(180, mc); 
   //如果鼠标位于图片的上方,图片放大1.8倍 
   temp1 = mc.n; 
   //把此图片下的变量赋给变量temp1 
  } else if (Math.abs(mc.n-temp1) == 1) { 
   move_scale(140, mc); 
   //两侧的图片比例放大1.4倍 
  } else { 
   move_scale(100, mc); 
   //其它的图片为原始大小 
  } 
 } 
 setX(); 
 //设置图片的x坐标 
} 
//鼠标移出图片时,图片的缩放、x坐标设置函数 
function mouse_out() { 
 for (var i = 0; i<5; i++) { 
  move_scale(100, this["zjs"+i]); 
  //缩放比例为1,恢复原始大小 
 } 
 setX(); 
 //坐标复原 
} 
//线条函数 
function myLine() { 
 createEmptyMovieClip("line", 1); 
 //创建一个空影片 
 with (line) { 
  lineStyle(0.1, 0xff9933, 100); 
  moveTo(zjs0._x-zjs0._width/2, zjs0._y+10); 
  lineTo(zjs4._x+zjs4._width/2, zjs4._y+10); 
  //图片下方水平的直线 
  moveTo(zjs0._x-zjs0._width/2, zjs0._y+5); 
  lineTo(zjs0._x-zjs0._width/2, zjs0._y+15); 
  //右边垂直的直线 
  moveTo(zjs4._x+zjs4._width/2, zjs4._y+5); 
  lineTo(zjs4._x+zjs4._width/2, zjs4._y+15); 
  //左边垂直的直线 
 } 
} 

  按CTRL+ENTER测试,本例制作完成。掌握原理后,加上好的创意,相信你能做出更好的特效。


上一篇:Photoshop与Flash合作制作模糊渐变动画 人气:7538
下一篇:Flash绘中秋贺卡:快乐月饼大游行 人气:6617
点击此处浏览全部图片导航的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-21 仿中华网简单调查系统
2008-5-21 耐恩Wap下载网站系统 v1.0
2008-5-21 福建新闻小偷(DIV+CSS) v2 3.1
2008-5-21 超级美化阿波罗DJ程序 v1.1
2008-5-21 海涯英文视频网整站 v1.0
2008-5-21 在线考试系统源码及论文
2008-5-21 网奇IOS智能在线订单系统 ASP.NE
2008-5-21 网奇IOS智能在线订单系统 ASP.NE
2008-5-21 tom911免费电影完美版本-带自定义
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報