缓冲公式在制作特效中非常有用著名的三星导航菜单就用到了此公式。现在许多网站出尽风头其中缓冲导航是其一大亮点。本文以一德国网站的导航为例详解缓冲导航的制作。这个效果是我和溶剂共同完成的他提供坐标的算法我提供缩放的算法。
本例效果演示
鼠标划过的部分图片会变大
制作思路
图片缩放控制
利用缓冲公式设置图片的缩放比例如果鼠标滑过某图片放大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
全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技郴州市湘南科技有限公司官方网址:www.xiangnankeji.cn产品内容:全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技VPS价格表:独立服...
Pia云商家在前面有介绍过一次,根据市面上的信息是2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台。这个云服务商家主要销售云服务器VPS主机业务和服务,云服务器采用KVM虚拟架构 。目前涉及的机房有美国洛杉矶、中国香港和深圳地区。洛杉矶为crea机房,三网回程CN2 GIA,自带20G防御。中国香港机房的线路也是CN2直连大陆,比较适合建站或者有游戏业务需求的用户群。在这篇文章中,简...
onevps最新消息,为了更好服务中国区用户:1、网站支付方式新增了支付宝,即将增加微信;原信用卡、PayPal方式不变;(2)可以切换简体中文版网站,在网站顶部右上角找到那个米字旗,下拉可以换中国简体版本。VPS可选机房有:中国(香港)、新加坡、日本(东京)、美国(纽约、洛杉矶)、英国(伦敦)、荷兰(阿姆斯特丹)、瑞士(苏黎世)、德国(法兰克福)、澳大利亚(悉尼)。不管你的客户在亚太区域、美洲区...