缓冲公式在制作特效中非常有用著名的三星导航菜单就用到了此公式。现在许多网站出尽风头其中缓冲导航是其一大亮点。本文以一德国网站的导航为例详解缓冲导航的制作。这个效果是我和溶剂共同完成的他提供坐标的算法我提供缩放的算法。
本例效果演示
鼠标划过的部分图片会变大
制作思路
图片缩放控制
利用缓冲公式设置图片的缩放比例如果鼠标滑过某图片放大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
ReliableSite怎么样?ReliableSite好不好。ReliableSite是一家成立于2006年的老牌美国商家,主要经营美国独立服务器租赁,数据中心位于:洛杉矶、迈阿密、纽约,带宽1Gbps起步,花19美元/月即可升级到10Gbps带宽,月流量150T足够各种业务场景使用,且免费提供20Gbps DDoS防护。当前商家有几款大硬盘美国独服,地点位于美国洛杉矶或纽约机房,机器配置很具有...
今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...
香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...