把一个很早看到的效果用2004进行重新演绎:)
空中落下好多小球啊~
点击浏览该文件 点击浏览该文件主要代码:
Stage.scaleMode = "noScale";
//防止画面放大
var depth = 0;
//设置初始深度
this.createEmptyMovieClip("panel", depth++);
//创建个档板的mc
drawPanel();
function drawPanel() {
//画挡板
with (panel) {
beginFill(0x0099CC);
lineTo(100, 0);
lineTo(100, 20);
lineTo(0, 20);
endFill();
_x = _y=200;
}
}
onEnterFrame = function () {
var B = ball.duplicateMovieClip("ball"+depth, depth++, {_x:random(550), _y:-20, yspeed:3});
// 复制小球,并且设置x,y位置和y方向上的初速度
B._xscale = B._yscale=5+random(30);
// 设置小球大小
B.onEnterFrame = function() {
// 每个小球进行逐桢
this.yspeed += .6;
// y速度不断增加
this._x += this.xspeed;
this._y += this.yspeed;
if (this.hitTest(panel)) {
// 小球假如检测到挡板
var tempx = this._x;
// 记录小球的x位置
this.xspeed = -(panel._x+panel._width/2-tempx)/15;
// 通过这个式子改变小求的x速度
this.yspeed *= -.6;
// y速度反向,并且减小
this._y = panel._y-this._height;
// 位置在接触点
}
if (this._y>400) {
this.removeMovieClip();
// 超出屏幕删除小球
}
};
};
panel.onPress = function() {
this.startDrag();
};
panel.onRelease = function() {
this.stopDrag();
};
//挡板的拖动和放下
//有很多细节没去考虑,只能养养眼,太多的bug了 : )