首先启动Flash,我使用的是Flash 8,然后新建立flash文档,然后按Ctrl+J修改文档属性。
按Ctrl+F8新建立一个影片剪辑元件,名字是Fragment,然后绘制一个白色的圆,至于大小都任意可以。
返回到主场景中,选择第一帧,输入下面代码。
/* 定义四个全局变量,定义位置 */ _global.gLEFT = 0; _global.gTOP = 0; _global.gRIGHT = Stage.width; _global.gBOTTOM = Stage.height; /* 5个变量定义元件的速度、最大、最小、数量*/ var maxSpeed:Number = 25; var minSize:Number = 4; var maxSize:Number = 10; var minFragments:Number = 50; var maxFragments:Number = 150; /* 在最大和最小之间返回一个数的函数 */ function randRange(min:Number, max:Number):Number { var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min; return randomNum; } /* 主程序片段 */ onMouseDown = function():Void { var totalFragments:Number = randRange(minFragments, maxFragments); var fragment_mc:MovieClip; var depth:Number = this.getNextHighestDepth(); for (var i:Number = 0; i < totalFragments; i++, depth++) { fragment_mc = attachMovie("Fragment", "fragment" + depth, depth); fragment_mc._x = _xmouse; fragment_mc._y = _ymouse; fragment_mc._width = fragment_mc._height = randRange(minSize, maxSize); while(!fragment_mc.speedX) { fragment_mc.speedX = randRange(-maxSpeed, maxSpeed); } while(!fragment_mc.speedY) { fragment_mc.speedY = randRange(-maxSpeed, maxSpeed); } fragment_mc._alpha = randRange(10, 100); fragment_mc.cacheAsBitmap = true; fragment_mc.onEnterFrame = function():Void { this._x += this.speedX; this._y += this.speedY; if (this._x < gLEFT || this._x > gRIGHT || this._y < gTOP || this._y > gBOTTOM) { this.removeMovieClip(); } }; } }; |