用Flash AS代码制作美丽光影变幻动画

http://tech.ddvip.com   2007年12月26日    社区交流

内容摘要:本例中我们用Flash 8 的Blendmode来制作美丽光影变幻动画。

  我们现在要增加粒子的大小和范围。代码做如下的修改。

  代码:

//定义中心位置
var cx = 0;
var cy = 0;
//设定循环20次,准备从库中复制链接id为partical的影片.
for (var i = 0; i<100; i++) {
//复制影片剪辑,引用名称为mc.
var mc = this.attachMovie("partical", "p"+i, i);
with (mc) {
//初始化影片剪辑的位置,注意此时cx,cy是用来调整mc实例的偏移位置的.
_x = cx+Math.random()*590;
_y = cy+Math.random()*350;
_xscale = _yscale = 100 * Math.random()*5+1;
}
//针对mc应用融合模式类型"add"
mc.blendMode = "add";
//设定mc实例的角度随机值
mc.tx = random(360);
mc.ty = random(360);
//设定用于mc角度的增量随机值
mc.xtempo = Math.random()/10;
mc.ytempo = Math.random()/10;
//设定mc实例的速度随机值
mc.xd = Math.random()*10+1;
mc.yd = Math.random()*10+1;
mc.x0 = mc._x;
mc.y0 = mc._y;
//跳转到指定的帧,以变换不同颜色的小球上.
mc.gotoAndStop(random(5)+1);
//通过onEnterFrame循环,来让粒子移动.
mc.onEnterFrame = function() {
this.tx += this.xtempo;
this.ty += this.ytempo;
this._x = this.x0+Math.sin(this.tx)*this.xd;
this._y = this.y0+Math.cos(this.ty)*this.yd;
};
}

  斜体加粗的代码是我们所修改的位置,我们增加了粒子的数量,同时加入了_xscale._yscale.缩放的随机值,这样便会放大粒子增加粒子的重合度。效果如下。

作者:egoldy    责编:豆豆技术应用

正在加载评论...