动画效果如下:
一、新建一FLASH文档,背景为黑色,大小800*600。
二、
1、按O使用“椭圆”工具,按住SHIFT拖动,在舞台上绘制一个无边框的圆。
2、打开”混色器“,用”放射性“填充,如图:
三、选中该圆,按F8转化为元件,行为:影片剪辑,即把圆转化为MC,并命名为”虫“。
四、选中主场景第1帧,打开动作面板,写上AS:
for(i=1;i<=20;i++){//循环,20为要复制“虫”的个数。
虫.duplicateMovieClip("虫"+i,i);//复制20只虫。
with(this["虫"+i]){
_x = random(Stage.width);//Stage.width为舞台宽。
_y = random(Stage.height);//Stage.height为舞台高。
}//让虫分布在舞台每个角落。
}
五、选中”虫“MC,打开动作面板,写上:
onClipEvent(load){
v = 3;//速度
_rotation = random(360);//让虫旋转为任意一角度。
}
onClipEvent(enterFrame){
k = Math.pow(-1,random(2));//随机产生1和-1。
_rotation += k*random(11);//让虫旋转为-10到10之间。
a = _rotation*Math.PI/180;//将角度转化为弧度。(详细查看上文)
dx = Math.cos(a)*v;
dy = Math.sin(a)*v;
//横纵坐标的移动量。(详细查看上文)
_x += dx;
_y += dy;
//限定虫移动的范围。(重点)
//解析:先确定范围。(宽:50--750;高:50--550)
if(_x <= 50 && dx<0 || _x >= 750 && dx>0){
_rotation = Math.atan2(dy,-dx)*180/Math.PI;
}//超出限定范围时,按照上面条件改变dx,
//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。
如图6:
if(_y <= 50 && dy<0 || _y >= 550 && dy>0){
_rotation = Math.atan2(-dy,dx)*180/Math.PI;
}//原理同上。
六、按CTRL+ENTER调试,看看效果:)