WEB开发网
开发学院图形图像Flash Flash AS入门教程第七课:影片剪辑第11节三角函数... 阅读

Flash AS入门教程第七课:影片剪辑第11节三角函数

 2009-12-12 00:00:00 来源:WEB开发网   
核心提示: for(vari=1;i<=6;i++){attachMovie("imge","mc"+i,i);_root["mc"+i].gotoAndStop(i);_root["mc"+i].cita=i*60;_r

for (var i = 1; i<=6; i++) { 
attachMovie("imge", "mc"+i, i); 
_root["mc"+i].gotoAndStop(i); 
_root["mc"+i].cita = i*60; 
_root["mc"+i]._y = 200; 
} 

接下来的代码可能不是太好理解,请记住一点,正弦,余弦函数的值是从1到-1来回变化的,这一点很重要,在下面的代码中充分地运用了这个原理。通过 onEnterFrame事件使动画不断重复,每重复一次,每一个图片的Cita加上鼠标x坐标与舞台中线的差值除25,也就是说设置了一个增量,所以这 25可以自行改变,值越大转得越慢。

onEnterFrame = function () { 
v = (275-_root._xmouse)/25; 
for (var i = 1; i<=6; i++) { 
with (_root["mc"+i]) { 
cita += v; 

接下来设置图片的透明度,来理解一下这句:

_alpha = 50+(100+100*Math.sin(cita/180*Math.PI))/4;

首先看:Math.sin(cita/180*Math.PI)这个函数的值上面说了是从1到-1来回变化的。那么100*Math.sin(cita /180*Math.PI)10到-100来回变化,100+100*Math.sin(cita/180*Math.PI))就是200到0之间的变化了,(100+100*Math.sin(cita/180*Math.PI))/4就是50到0之间变化了,50+ (100+100*Math.sin(cita/180*Math.PI))/4;就是50到100之间变化了。这一句的作用就是使透明度在正面时为 100,转到背面时为50.

接下来:

_xscale = 100*Math.sin(cita/180*Math.PI)*_alpha/100;

100*Math.sin(cita/180*Math.PI) 的值是100到-100,_xscale属性设为-100时的效果是水平翻转,这就形成了在正面的背面方向不一样的效果,也行成了在两端时的翻转效果。*_alpha/100;应该是让图片的正反面与透明度同步。

下一句:

_yscale = 75+(100+100*Math.sin(cita/180*Math.PI))/8;

算得出来这是让图片的高在75到100之间变化,即在背面时高度要小一些。

下一句:

_x = 75+r-r*Math.cos(cita/180*Math.PI);

可以算出等号后面的式子值为75到475之间变化,这就确平方和了图片在75到475间左右移动。

最后一句:

_root["mc"+i].swapDepths(Math.round(_root["mc"+i]._xscale));

深度交换,让图片在最大时(正面),在最上面,以形成正面图片遮住背面图片的效果。

上一页  2 3 4 5 6 7 

Tags:Flash AS 入门教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接