缓冲公式在制作特效中非常有用著名的三星导航菜单就用到了此公式。现在许多网站出尽风头其中缓冲导航是其一大亮点。本文以一德国网站的导航为例详解缓冲导航的制作。这个效果是我和溶剂共同完成的他提供坐标的算法我提供缩放的算法。
本例效果演示
鼠标划过的部分图片会变大
制作思路
图片缩放控制
利用缓冲公式设置图片的缩放比例如果鼠标滑过某图片放大1.8倍。如果其它图片的序号与此图片的序号相差1就是此图片两边的图片放大1.4倍其它的为原始大小。
图片坐标控制
当某图片放大时相邻的图片的坐标等于此图片的坐标加上这两张图片的宽度的一半实现图片无间距排列。
线条和文字控制
线条用画线函数实现文字的坐标和缩放比例与对应的图片相同。
制作过程
1、启动Flash新建一个影片设置影片大小为600px*200px。
准备好如图中的素材 图片的实例名分别为zjs0到zjs4文字的实例名分别为z0到z4。
把中间的图片坐标设为(300,130)选中全部的图片按CTRLK调出排列面板设置为顶部对齐使图片的y坐标相同 图片的x坐标通过AS来控制。用同样的方法使方字的y坐标相同并调整好文字和图片的间距。
2、在主场景中的第一帧上添加下列代码
//获取中间图片的x坐标for(var i=0; i<5; i++) {this["zj s"+i].n=i;
//每个图片MC下定义一个变量this["zjs"+i].onRo llO ver=function() {contro l=true;
//鼠标滑过图片时为真
};this["zj s"+i].onRollOut=function() {
contro l=false;
//鼠标移出图片时为假
};
}onEnte rFrame=functio n() {for(var k=0;k<5;k++) {this["z"+k]._x=this["zj s"+k]._x;
//说明文字的x坐标等于本应图片的x坐标this["z"+k]._xscale=this["zjs"+k]._xscale;this["z"+k]._yscale=this["zjs"+k]._yscale;
//说明文字的缩放比例与图片相同
}if(contro l) {mouse_in();
} else {mouse_out();
}
//条件真或假时调用函数
};
//坐标设置函数function setX() {for(var k=-2;k<3;k++) {this["zj s"+(k+2)]._x=myx+this["zj s"+2]._width*k;//以中间图片为准无间距排列
}for(var k=Numb er(temp 1)+1;k<5;k++) {
//temp1为缩放比例最大的图片下的变量值var mc 1=this["zjs"+k];var mc2=this["zj s"+(k-1)];
//此图片右边的其它图片mc1._x=mc2._x+(mc2._width+mc1._width)/2-1;//设置这些图片的x坐标 1为消除图片间的空隙}for(var k=Numb er(temp 1)-1;k>-1;k--) {var mc 1=this["zjs"+k];var mc2=this["zj s"+(k+1)];mc 1._x=mc2._x-(mc2._width+mc1._width)/2+1;}
//缩放比例最大的图片的左边的图片的x坐标设置myLin e();
//图片下方的线条
}
//比例缩放函数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.hitTe st(_xmo use,_ymouse, true)) {move_s cale(180,mc);
//如果鼠标位于图片的上方 图片放大1.8倍te mp 1=mc.n;
//把此图片下的变量赋给变量te mp 1
} else if(Math.abs(mc.n-temp1)==1) {move_scale(140,mc);
//两侧的图片比例放大1.4倍
} else {move_sc ale(100,mc);
//其它的图片为原始大小
}
}setX();
//设置图片的x坐标
}
//鼠标移出图片时 图片的缩放、 x坐标设置函数function mous e_out() {for(var i=0; i<5; i++) {move_scale(100, this["zj s"+i]);
//缩放比例为1恢复原始大小
}setX();
//坐标复原
}
//线条函数function myLine() {createEmp tyMovieC lip("line", 1);
//创建一个空影片w ith(line) {lineS tyle(0.1,0xff9933, 100);moveTo(zj s0._x-zj s0._width/2,zj s0._y+10);lineTo(zjs4._x+zj s4._width/2,zjs4._y+10);
//图片下方水平的直线moveTo(zjs0._x-zjs0._width/2,zjs0._y+5);lineTo(zj s0._x-zjs0._width/2,zjs0._y+15);
//右边垂直的直线moveTo(zjs4._x+zjs4._width/2,zjs4._y+5);lineTo(zjs4._x+zj s4._width/2,zjs4._y+15);
//左边垂直的直线
}
}
按CTRL+ENTER测试本例制作完成。掌握原理后加上好的创意相信你能做出更好的特效。
-
资料引用:http://www.kno wsky.co m/340840.html
pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...
青果云香港CN2_GIA主机测评青果云香港多线BGP网络,接入电信CN2 GIA等优质链路,测试IP:45.251.136.1青果网络QG.NET是一家高效多云管理服务商,拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一。青果云香港CN2_GIA主机性能分享下面和大家分享下。官方网站:点击进入CPU内存系统盘数据盘宽带ip价格购买地...
小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...