drip Scmiz forked:1favorite:5lines:80license : MIT License modified : 2011-05-22 22:03:18 Embed Tweet package { import flash.display.Graphics; import flash.display.Sprite; import flash.events.Event; public class FlashTest extends Sprite { private var _prevColor:uint; private var _currentColor:uint; private var _array:/*Data*/Array; public function FlashTest() { stage.frameRate = 60; _prevColor = 0xffffff; _currentColor = _prevColor; changeColor(); this.addEventListener(Event.ENTER_FRAME, proc); } private function proc(e:Event):void { var g:Graphics = this.graphics; g.clear(); g.beginFill(_prevColor); g.drawRect(0, 0, 465, 465); g.endFill(); var draw:Function = function(x:Number, y:Number, size:Number):void { g.beginFill(_currentColor); g.drawCircle(x, -size, size); g.endFill(); g.beginFill(_currentColor); g.drawRect(x - size, -size, size * 2, y + size); g.endFill(); g.beginFill(_currentColor); g.drawCircle(x, y, size); g.endFill(); } var isAllEnd:Boolean = true; for (var index:uint = 0; index < _array.length; ++index) { var datum:Data = _array[index]; if (!datum.isEnd) { isAllEnd = false; datum.y += datum.speed; if (datum.y > 465) { datum.isEnd = true; } } draw(datum.x, datum.y, datum.size); } if (isAllEnd) { changeColor(); } } private function changeColor():void { _prevColor = _currentColor; var r:uint = 64 + (192 * Math.random()); var g:uint = 64 + (192 * Math.random()); var b:uint = 64 + (192 * Math.random()); _currentColor = (r << 16) + (g << 8) + (b << 0); _array = new Array(); var x:Number = 0; while (x < 465) { var size:Number = 15 + (Math.random() * 25); var speed:Number = 3 + (Math.random() * 2); _array.push(new Data(x, size, speed)); x += size; } } } } class Data { public var x:Number; public var y:Number; public var size:Number; public var speed:Number; public var isEnd:Boolean; public function Data(x:Number, size:Number, speed:Number) { this.x = x; this.y = -size; this.size = size; this.speed = speed; this.isEnd = false; } } Code Fullscreen Preview Fullscreen sudar0627 Angelo merrycat tjoen hidrodixtion.. : cool cool graphics addEventListener Boolean push Event.ENTER_FRAME length Event Math.random Array Sprite uint Number sort new page view favorite forked pv166 forked from: drip iflex4 forked:0 favorite:0lines:80 (diff:1)