1、新建一个flash8.0的文档,背景颜色自定
2、插入——新建元件——类型:影片剪辑——名称:萤火虫(随便的)
在图层一的第一帧上用椭圆工具画一个无边线放射状填充,大小为 2.5*6 的椭圆。(色块参考:左右均为白色,右色块透明度为0,中间为红色,透明度40到60之间)
分别选中第3和第5帧,按F6插入关键帧,第3帧上改变一下椭圆的大小,然后选中图层一,到属性面板创建形状补间。
3、回到主场景,把萤火虫元件拖入场景,并做全居中对齐,到属性面板给元件起实例名:虫,在元件上点右键打开动作面板,输入语句:
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--550;高:50--400)
if (_x<=50 && dx<0 || _x>=550 && dx>0) {
_rotation = Math.atan2(dy, -dx)*180/Math.PI;
}
//超出限定范围时,按照上面条件改变dx,
//并用Math.atan2使旋转角度发生相应变化,让运动方向改变。
if (_y<=50 && dy<0 || _y>=400 && dy>0) {
_rotation = Math.atan2(-dy, dx)*180/Math.PI;
}
//原理同上。
}
4、插入新图层改名:AS,在AS图层的第一帧上输入语句:
for (i=1; i<=30; i++) {
//循环,30为要复制“虫”的个数。
虫.duplicateMovieClip("虫"+i, i);
//复制30只虫。
with (this["虫"+i]) {
_x = random(Stage.width);
//Stage.width为舞台宽。
_y = random(Stage.height);
//Stage.height为舞台高。
}
//让虫分布在舞台每个角落。
col = random(16777215);
xzcol = new Color("虫"+i);
xzcol.setRGB(col);
}
温馨提示:答案为网友推荐,仅供参考