返回首页
专题
网络编程
ASPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 .NETjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 PHPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 JSPjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 C#jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Delphijrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 VBjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 C/C++jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Android开发 IOS开发 Windows Phone开发 Pythonjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Rubyjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 移动开发 其他编程jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
网页制作
HTMLjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 CSSjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Dreamweaverjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 FrontPagesjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 web前端
数据库
SqlServer MySql Oracle Access DB2 SQLite 其他数据库
图形设计
photoshopjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Fireworksjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 CorelDrawjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Illustratorjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 AutoCadjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 FLASHjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
操作系统
Windows xpjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 7jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 8jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 2003jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows Server 2008jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Linuxjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 Windows 10
网站运营
建站经验 SEO优化 站长心得 网赚技巧 网站推广 站长故事
手机学院
手机速递 安卓jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 iphonejrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 手机评测 手机技巧 手机知识 手机应用 手机游戏 手机导购
网店宝典
开店指导 开店经验 网店装修 网店推广 网店seo 网购技巧
软件jrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播
办公软件 系统工具 媒体工具 压缩工具 图文处理 文件管理
范文之家
自我介绍 自我鉴定 写作模板 合同范本 工作总结 贺词祝福语 演讲致辞 思想汇报 入党申请书 实习报告 心得体会 工作计划 简历模板 工作报告 导游词 评语寄语 口号大全 策划书范文
信息工程
软件工程 企业开发 系统运维 软件测试
移民之家
移民动态 移民政策 移民百科 移民生活 技术移民 投资移民
知识大全
母婴 数码 摄影 装修 美文 常识 时尚 婚嫁 美食 养生 旅游 兴趣 职场 教育 文学 健康
问答大全
电脑网络 手机数码 QQ专区 生活 游戏 体育运动 娱乐明星 休闲爱好 文化艺术 社会民生 教育科学 健康医疗 商业理财 情感家庭 地区问题 其他
编程问答
IOS Android .NET Java C/C++ Delphi VC/MFC 其他语言 PHP MSSQL MYSQL Oracle 其他数据库 Web开发 Windows Linux 硬件/嵌入开发 网络通信 移动开发 云计算 企业IT 游戏开发
笑话大全
幽默笑话 爱情笑话 成人笑话 校园笑话 爆笑笑话 综合笑话 古代笑话 现代笑话 国外笑话

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

来源:互联网  时间:2014/9/18 13:39:31

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


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

  制作思路

  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测试,本例制作完成。掌握原理后,加上好的创意,相信你能做出更好的特效。


上一篇Flash绘中秋贺卡:快乐月饼大游行
下一篇Photoshop与Flash合作制作模糊渐变动画
明星图片
相关文章
《Flash动态缓冲图片导航制作详解》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)