缓冲公式在制作特效中非常有用著名的三星导航菜单就用到了此公式。现在许多网站出尽风头其中缓冲导航是其一大亮点。本文以一德国网站的导航为例详解缓冲导航的制作。这个效果是我和溶剂共同完成的他提供坐标的算法我提供缩放的算法。
本例效果演示
鼠标划过的部分图片会变大
制作思路
图片缩放控制
利用缓冲公式设置图片的缩放比例如果鼠标滑过某图片放大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
丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...
印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...
10GBIZ服务商经常有看到隔壁的一些博客分享内容,我翻看网站看之前有记录过一篇,只不过由于服务商是2020年新成立的所以分享内容比较谨慎。这不至今已经有将近两年的服务商而且云服务产品也比较丰富,目前有看到10GBIZ服务商有提供香港、美国洛杉矶等多机房的云服务器、独立服务器和站群服务器。其中比较吸引到我们用户的是亚洲节点的包括香港、日本等七星级网络服务。具体我们看看相关的配置和线路产品。第一、香...