缓冲公式在制作特效中非常有用著名的三星导航菜单就用到了此公式。现在许多网站出尽风头其中缓冲导航是其一大亮点。本文以一德国网站的导航为例详解缓冲导航的制作。这个效果是我和溶剂共同完成的他提供坐标的算法我提供缩放的算法。
本例效果演示
鼠标划过的部分图片会变大
制作思路
图片缩放控制
利用缓冲公式设置图片的缩放比例如果鼠标滑过某图片放大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
捷锐数据官网商家介绍捷锐数据怎么样?捷锐数据好不好?捷锐数据是成立于2018年一家国人IDC商家,早期其主营虚拟主机CDN,现在主要有香港云服、国内物理机、腾讯轻量云代理、阿里轻量云代理,自营香港为CN2+BGP线路,采用KVM虚拟化而且单IP提供10G流量清洗并且免费配备天机盾可达到屏蔽UDP以及无视CC效果。这次捷锐数据给大家带来的活动是香港云促销,总共放量40台点击进入捷锐数据官网优惠活动内...
华纳云(HNCloud Limited)是一家专业的全球数据中心基础服务提供商,总部在香港,隶属于香港联合通讯国际有限公司,拥有香港政府颁发的商业登记证明,保证用户的安全性和合规性。 华纳云是APNIC 和 ARIN 会员单位。主要提供数据中心基础服务、互联网业务解决方案, 以及香港服务器租用、香港服务器托管、香港云服务器、美国云服务器,云计算、云安全技术研发等产品和服务。其中云服务器基于成熟的 ...
香港服务器租用多少钱一个月?香港服务器受到很多朋友的青睐,其中免备案成为其特色之一。很多用户想了解香港云服务器价格多少钱,也有同行询问香港服务器的租赁价格,一些实际用户想要了解香港服务器的市场。虽然价格是关注的焦点,但价格并不是香港服务器的全部选择。今天小编介绍了一些影响香港服务器租赁价格的因素,以及在香港租一个月的服务器要花多少钱。影响香港服务器租赁价格的因素:1.香港机房选择香港机房相当于选择...