|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。
<P> 缓冲公式在制造殊效中十分有效,出名的三星导航菜单就用到了此公式。如今很多网站出尽风头,个中缓冲导航是其一年夜亮点。本文以一德国网站的导航为例,详解缓冲导航的制造。这个效果是我和溶剂配合完成的,他供应坐标的算法,我供应缩放的算法。
本例效果演示
鼠标划过的部分图片会变年夜
制造思绪
- 图片缩放把持
使用缓冲公式设置图片的缩放比例,假如鼠标滑过某图片,缩小1.8倍。假如别的图片的序号与此图片的序号相差1,就是此图片双方的图片,缩小1.4倍,别的的为原始巨细。
- 图片坐标把持
当某图片缩小时,相邻的图片的坐标即是此图片的坐标加上这两张图片的宽度的一半,完成图片无间距分列。
- 线条和笔墨把持
线条用画线函数完成,笔墨的坐标和缩放比例与对应的图片不异。
制造历程
1、启动Flash,新建一个影片,设置影片巨细为600px*200px。
筹办好如图中的素材,图片的实例名分离为zjs0到zjs4,笔墨的实例名分离为z0到z4。
把两头的图片坐标设为(300,130),选中全体的图片,按CTRL+K修改分列面板,设置为顶部对齐,使图片的y坐标不异,图片的x坐标经由过程AS来把持。用一样的办法使方字的y坐标不异,并调剂好笔墨和图片的间距。
2、在主场景中的第一帧上增加以下代码- //猎取两头图片的x坐标for(vari=0;i<5;i++){this["zjs"+i].n=i;//每一个图片MC下界说一个变量this["zjs"+i].onRollOver=function(){control=true;//鼠标滑过图片时为真};this["zjs"+i].onRollOut=function(){control=false;//鼠标移出图片时为假};}onEnterFrame=function(){for(vark=0;k<5;k++){this["z"+k]._x=this["zjs"+k]._x;//申明笔墨的x坐标即是本应图片的x坐标this["z"+k]._xscale=this["zjs"+k]._xscale;this["z"+k]._yscale=this["zjs"+k]._yscale;//申明笔墨的缩放比例与图片不异}if(control){mouse_in();}else{mouse_out();}//前提真或假时挪用函数};//坐标设置函数functionsetX(){for(vark=-2;k<3;k++){this["zjs"+(k+2)]._x=myx+this["zjs"+2]._width*k;//以两头图片为准无间距分列}for(vark=Number(temp1)+1;k<5;k++){//temp1为缩放比例最年夜的图片下的变量值varmc1=this["zjs"+k];varmc2=this["zjs"+(k-1)];//此图片右侧的别的图片mc1._x=mc2._x+(mc2._width+mc1._width)/2-1;//设置这些图片的x坐标,1为打消图片间的清闲}for(vark=Number(temp1)-1;k>-1;k--){varmc1=this["zjs"+k];varmc2=this["zjs"+(k+1)];mc1._x=mc2._x-(mc2._width+mc1._width)/2+1;}//缩放比例最年夜的图片的右边的图片的x坐标设置myLine();//图片下方的线条}//比例缩放函数functionmove_scale(x,obj){speed=(x-obj._xscale)*.65+speed*0.6;obj._xscale+=speed;obj._yscale+=speed;//缓冲公式,x为图片的缩放比例,obj为MC}//鼠标滑过图片时,图片的缩放、x坐标设置函数functionmouse_in(){for(vari=0;i<5;i++){varmc=this["zjs"+i];//取得实例名if(mc.hitTest(_xmouse,_ymouse,true)){move_scale(180,mc);//假如鼠标位于图片的上方,图片缩小1.8倍temp1=mc.n;//把此图片下的变量赋给变量temp1}elseif(Math.abs(mc.n-temp1)==1){move_scale(140,mc);//两侧的图片比例缩小1.4倍}else{move_scale(100,mc);//别的的图片为原始巨细}}setX();//设置图片的x坐标}//鼠标移出图片时,图片的缩放、x坐标设置函数functionmouse_out(){for(vari=0;i<5;i++){move_scale(100,this["zjs"+i]);//缩放比例为1,恢回复始巨细}setX();//坐标回复}//线条函数functionmyLine(){createEmptyMovieClip("line",1);//创立一个空影片with(line){lineStyle(0.1,0xff9933,100);moveTo(zjs0._x-zjs0._width/2,zjs0._y+10);lineTo(zjs4._x+zjs4._width/2,zjs4._y+10);//图片下方程度的直线moveTo(zjs0._x-zjs0._width/2,zjs0._y+5);lineTo(zjs0._x-zjs0._width/2,zjs0._y+15);//右侧垂直的直线moveTo(zjs4._x+zjs4._width/2,zjs4._y+5);lineTo(zjs4._x+zjs4._width/2,zjs4._y+15);//右边垂直的直线}}
复制代码
按CTRL+ENTER测试,本例制造完成。把握道理后,加上好的创意,信任你能做出更好的殊效。
“fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。 |
|