急!急!急!请哪位高手帮忙注释一个flash动画流星雨特效代码代码段如下

//设定新复制出来的mc的纵缩放程度为缩放值数组中对应id的值._root["ball"+i]._rotation = 20;//设定新复制出来的mc的旋转角度为20度(顺时针旋转)_root["ball"+i].onEnterFrame = function() { //设定新复制出来的mc的载入帧事件处理函数 if (isShow == false) { //当"isShow"变量为...
急!急!急!请哪位高手帮忙注释一个flash动画流星雨特效代码代码段如下
不容易啊..这年头还能找到AS2的特效代码.我想说我能看懂的就只有AS2了- -

xrandom = new Array();
//x坐标的数组
yrandom = new Array();
//y坐标的数组
salerandom = new Array();
//缩放值的数组
speed = Math.floor(Math.random()*10)+5;
//速度设定为随机值,从5到14
for (_global.i=0; i<=19; i++) {
//遍历id,从0到19
xrandom[i] = Math.floor(Math.random()*700);
yrandom[i] = Math.floor(Math.random()*400);
//定义每个mc的坐标为一个随机数,从(0,0)到(699,399)
salerandom[i] = Math.floor(Math.random()*20)+2;
//定义每个mc的缩放值为一个随机数,从2到21
duplicateMovieClip(ball, "ball"+i, i);
//复制实例名为"ball"的mc(该mc在舞台上),新名字为"ball"加上id号,深度为id号的大小.
_root["ball"+i]._x = xrandom[i];
_root["ball"+i]._y = yrandom[i];
//设定新复制出来的mc的坐标为坐标数组内对应id的坐标.
_root["ball"+i]._yscale = salerandom[i];
//设定新复制出来的mc的纵缩放程度为缩放值数组中对应id的值.
_root["ball"+i]._rotation = 20;
//设定新复制出来的mc的旋转角度为20度(顺时针旋转)
_root["ball"+i].onEnterFrame = function() {
//设定新复制出来的mc的载入帧事件处理函数
if (isShow == false) {
//当"isShow"变量为假的时候
this._visible = false;
//隐藏该mc
this.onEnterFrame = null;
//删除该mc的事件处理函数
}
var a = this._rotation;
//变量a为该mc的旋转角度
var rad = a*Math.PI/180;
//变量rad为角度a所对应的弧度(三角函数使用弧度变量而不是角度)
var dx = Math.cos(rad)*speed;
var dy = Math.sin(rad)*speed;
//根据弧度计算该mc的x,y方向上的分速度
this._x += dx;
this._y += dy;
//根据分速度计算下一帧的mc位置
if (this._x>=710) {
//如果mc的横坐标达到710
this._x = -Math.floor(Math.random()*300);
this._y = -Math.floor(Math.random()*300);
//重新定义一个新的随机坐标给mc
}
};
}2012-07-27
mengvlog 阅读 8 次 更新于 2025-07-21 03:03:02 我来答关注问题0
檬味博客在线解答立即免费咨询

代码相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部