FlashAS实现的一种不规则曲线运动

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

记得刚开始学AS的时候!就请教过很多人这方面的AS!但效果总是不理想!这几天没事看了看数学资料找到了意外的收获呀!和大家一起分享!看来数学还是很重要的!只怪当然对这科不感冒,没用心学呀!呵呵呵。

演示效果:(鼠标单击动画之后不放开试试会看到什么?)

第一帧:

x=0

i=0

//lovex和lovey两个数组分别保存LOVE这个字的主要坐标!

lovex=newArray(175,175,175,175,175,195,215,235,255,255,255,275,295,315,315,315,295,275,325,325,325,340,355,37

0,385,385,385,405,425,445,465,405,405,425,445,465,405,405,425,445,465)

lovey=newArray(168,188,208,228,248,248,248,248,188,208,228,248,248,228,208,188,168,168,168,188,208,228,248,22

8,208,188,168,168,168,168,168,188,208,208,208,208,228,248,248,248,248)

its0.itlovex=lovex[0]//在虫0下定一个变量保存按下鼠标后虫0的X坐标

its0.itlovey=lovey[0]//在虫0下定一个变量保存按下鼠标后虫0的y坐标

第二帧

x++

第三帧

if(x<41){

its0.duplicateMovieClip("its"+x,x)//复制40个小虫个

this["its"+x].itlovex=lovex[x]//在虫x下定一个变量保存按下鼠标后虫x的X坐标

this["its"+x].itlovey=lovey[x]//在虫x下定一个变量保存按下鼠标后虫x的y坐标

gotoAndPlay(2)

}else{

stop()

}

虫子its0这个MC上代码:

onClipEvent(load){//加载时设定初始值

ang=Math.random();//随机产生虫子的初始弧度值

incr=Math.random()/100;//随机产生虫子的弧度值增量

aimx=random(600)-300;//随机产生两个虫子的椭圆运动长短半径,范围根据你FLASH的尺寸来设,我的是600*400中心点是(3

00,200)

x=random(600)-300;

aimy=random(400)-200

y=random(400)-200;

xy=random(200)-100;//随机产生虫子中心偏位值

_xscale=_yscale=_yscale*(Math.random()+.1);//随机产生虫子大小比例

由于考虑到按鼠标后字体的美观,暂时没有用

}

onClipEvent(mouseDown){_root.i=1}

onClipEvent(mouseUp){_root.i=2}

onClipEvent(enterFrame){

if(_root.i==1){//当i==1时即按下鼠标时虫子移动到LOVE指定的点

_x=_x+(itlovex-_x)/10;

_y=_y+(itlovey-_y)/10;

}

if(_root.i==2){//当i==2时即按下鼠标时虫子移回按下鼠标前的位置

ix=Math.cos(ang)*x+300+xy//计算按下鼠标前虫子的位置

iy=Math.sin(ang)*y+200+xy

_x=_x+(ix-_x)/5;//移动虫子到按下鼠标前的位置

_y=_y+(iy-_y)/5;

if(Math.abs(ix-_x)<=1andMath.abs(iy-_y)<=1){_root.i=0;}//当虫子接近(ix,iy)即回到按下鼠标前的位置时,设i=0

}

if(_root.i==0){//当i==0时即没有鼠标动作时

x=x+(aimx-x)/150;//根据两个随机长短半径差值计算出虫子的长短半径

y=y+(aimy-y)/150;

_x=Math.cos(ang)*x+300+xy;//计算虫子的椭圆运动的轨迹

_y=Math.sin(ang)*y+200+xy;

ang=ang+incr;//弧度递增

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有