Flash 动画:
从网友处得到了一段画线的代码,改动了一下,上了个色,并且优化了一下代码,代码如下,可以放在一个MC元件中,然后往主场景中拖几个即可,直接写在主场景帧中也可,但只有一条线。
this._x = this._y = 0;
//MC元件的初始位置,如果代码写在主场景中,该行可以省略。
var total = 5;
//线条的总个数
var myColor = random(0xffffff);
//随机生产一个初始颜色。
speed = 5;
//运动速度,舞台越大,该值可以适当增大一些。
for (i = 0; i < total; i++) {
//duplicateMovieClip("ball" + i, i);//该行代码无法达到预想的效果。
createEmptyMovieClip("ball" + i, i);
var mc = this["ball" + i];
mc._x = random(Stage.width);
mc._y = random(Stage.height);
mc.dx = random(5) + 5;
mc.dy = random(5) + 5;
}
onEnterFrame = function () {
r = Math.floor(random(10));
//g = Math.floor(random(10)); //测试发现这一行用不着
b = Math.floor(random(20));
for (var i = 0; i < total; i++) {
var mc = this["ball" + i];
mc._x += mc.dx;
mc._y += mc.dy;
if (mc._x < 0 && mc.dx < 0 || mc._x > Stage.width && mc.dx > 0) {
mc.dx = -mc.dx;
mc._x = (mc._x<0)?0:Stage.width;
myColor += r << 16 + b;
myColor = myColor & 0xffffff;
}
if (mc._y < 0 && mc.dy < 0 || mc._y > Stage.height && mc.dy > 0) {
mc.dy = -mc.dy;
mc._y = (mc._y<0)?0:Stage.height;
myColor += r << 16 + b;
myColor = myColor & 0xffffff;
}
}
createEmptyMovieClip("xian", 100);
with (xian) {
lineStyle(2, myColor, 100);
moveTo(ball0._x, ball0._y);
for (var i = 1; i < total; i++) {
var mc = this["ball" + i];
lineTo(mc._x, mc._y);
}
lineTo(ball0._x, ball0._y);
}
};
回复Comments
作者:
{commentrecontent}