flash动态缓冲图片导航制作详解
The buffer formula is very useful in making special effects.The famous Samsung navigation menu uses this formula. Manywebsites are now in the limelight, and buffer navigation is oneof the highlights. This article takes the navigation of aGermanwebsite as an example to explain the manufacture of buffernavigation. This effect is done by me and the solvent. Heprovides the coordinate algorithm, and I provide the scalingalgorithm.
This example demonstrates the effect
The part of the mouse across the picture will become largerProduction ideas
Picture zoom control
Using the buffer formula to set the zoom ratio of the picture,if the mouse glides through a picture, zoom in 1.8 times. Ifthe serial number of the other picture is 1 different from thatof the picture, the picture on both sides of the picture ismagnified 1.4 times, and the other is of the original size.Picture coordinate control
When a picture is enlarged, the coordinates of the adjacentpictures are equal to the coordinates of the image, plus halfof the width of the two pictures, so that the pictures arearranged without distance.
Line and text control
Lines are implemented using line drawing functions, and thecoordinates and scale of text are the same as those of thecorresponding pictures.
Making process
1, startFlash, create anewmovie, set the size of 600px*200px.Get ready, like the material in the picture. The actual namesof the pictures are zjs0 to zjs4, and the literal names of thetext are Z0 to z4.
The intermediate image coordinates set (300130) , select all thepictures, arranged according to CTRLK panel set to top out, makethe same picture, y coordinates, X coordinate picturecontrolled by AS. In the same way that y coordinates the samecharacters, and adjust the spacing of text and pictures.2, add the following code on the first frame in the main sceneX / / get intermediate image coordinates
For (VaR = I = 0; i<5; i++) {
This["ZJS", +i] .n = i;
Each picture / / MC define a variable
This["ZJS", +i] .onRollOver = function () {
Control = true;
Mouse over the picture is true / /
} ;
This["ZJS", +i] .onRollOut = function () {
Control = false;
The picture is false when the mouse out of /
} ;
}
OnEnterFrame = function () {
For (VaR = k = 0; k<5; k++) {
This["Z", +k] ._x = this[, "ZJS", +k] ._x;
X/text should be equal to the X coordinate coordinate pictureThis["Z", +k] ._xscale = this[, "ZJS", +k] ._xscale;
This["Z", +k] ._yscale = this[, "ZJS", +k] ._yscale;
/ / text and pictures the same zoom ratio
}
If (control) {
Mouse_in () ;
} else {
Mouse_out () ;
}
/ / call the function condition of true or false when} ;
/ / coordinate setting function
Function, setX () {
For (VaR k = -2; k<3; k++) {
This["ZJS" + (k+2) ] ._x = myx+this["ZJS" +2] ._width*k;In the middle picture is / / no distance arrangement
}
For (VaR k = Number (temp 1) +1; k<5; k++) {
//temp1 is the variable value under the maximum scaled picture
this was mc1 = ["zjs' + k] ;this was mc2 = ["zjs' + (k - 1) ] ;
/ /此图片右边的其它图片mc1. _x = mc2. _x + (mc2. _width + mc1. _ width) / 2 - 1;/ /设置这些图片的x坐标, 1为消除图片间的空隙
}for (where k = number (temp1) - 1; k > 1; k) {this was mc1 = ["zjs' + k] ;this was mc2 = ["zjs' + (k + 1) ] ;mc1. _x = mc2. _x - (mc2. _width + mc1. _ width) / 2 + 1;}
/ /缩放比例最大的图片的左边的图片的x坐标设置myline () ;
/ /图片下方的线条
}
/ /比例缩放函数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 _ () {for (i = 0; i < 5; i + +) {where mc = this ["zjs" +] ;
/ /获得实例名i f (mc.hittest (_xmouse, _ ymouse, true)) {move _ scale (180, mc) ;
/ /如果鼠标位于图片的上方, 图片放大1.8倍t emp 1 = mc.n;
/ /把此图片下的变量赋给变量t emp 1
} else if (math.abs (mc.n-temp1) = = 1) {move _ scale (140, mc) ;
/ /两侧的图片比例放大1.4倍
} else {move _ scale (100, mc) ;
/ /其它的图片为原始大小
}
}setx () ;
/ /设置图片的x坐标
}
/ /鼠标移出图片时, 图片的缩放、 x坐标设置函数function mouse _ out () {for (i = 0; i < 5; i + +) {
move _ scale (100, this "zjs" [+]) ;
/ /缩放比例为1,恢复原始大小
}setx () ;
/ /坐标复原
}
/ /线条函数function myline () {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测试,本例制作完成.掌握原理后,加上好的创意,相信你能做出更好的特效.
资料引用: http: / / www.knowsky.
With / 340840.html
港云网络官方网站商家简介港云网络成立于2016年,拥有IDC/ISP/云计算资质,是正规的IDC公司,我们采用优质硬件和网络,为客户提供高速、稳定的云计算服务。公司拥有一流的技术团队,提供7*24小时1对1售后服务,让您无后顾之忧。我们目前提供高防空间、云服务器、物理服务器,高防IP等众多产品,为您提供轻松上云、安全防护。点击进入港云网络官方网站港云网络中秋福利1元领【每人限量1台】,售完下架,活...
tmthosting怎么样?tmthosting家本站也分享过多次,之前也是不温不火的商家,加上商家的价格略贵,之到斯巴达商家出现,这个商家才被中国用户熟知,原因就是斯巴达家的机器是三网回程AS4837线路,而且也没有多余的加价,斯巴达家断货后,有朋友发现TMTHosting竟然也在同一机房,所以大家就都入手了TMTHosting家的机器。目前,TMTHosting商家放出了夏季优惠,针对VPS推...
HostMem近日发布了最新的优惠消息,全场云服务器产品一律75折优惠,美国洛杉矶QuadraNet机房,基于KVM虚拟架构,2核心2G内存240G SSD固态硬盘100Mbps带宽4TB流量,27美元/年,线路方面电信CN2 GT,联通CU移动CM,有需要美国大硬盘VPS云服务器的朋友可以关注一下。HostMem怎么样?HostMem服务器好不好?HostMem值不值得购买?HostMem是一家...