forked from: wind ... @author sliz http://game-develop.net/blog lizhi forked:1favorite:4lines:64license : MIT License modified : 2011-01-01 12:11:44 Embed Tweet package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Graphics; import flash.display.Shape; import flash.display.Sprite; import flash.events.Event; import flash.geom.ColorTransform; import sliz.miniui.Link; /** * ... * @author sliz http://game-develop.net/blog */ public class Wind extends Sprite { private var p:Particle; private var view:Bitmap; private var pen:Shape = new Shape(); private var ct:ColorTransform = new ColorTransform(1, 1, 1, 1, 50, 50, 50); public function Wind() { view = new Bitmap(new BitmapData(stage.stageWidth, stage.stageHeight, false, 0xffffff)); addChild(view); var c:int = 200; while (c-->0) { var temp:Particle = new Particle(); temp.data = c; if (p) { temp.next = p; } p = temp; } addEventListener(Event.ENTER_FRAME, update); var link:Link = new Link("Wind @author sliz"); addChild(link); link.x = 10; link.y = 10; } private function update(e:Event):void { var graphics:Graphics = pen.graphics; graphics.clear(); graphics.lineStyle(0); var x:Number = mouseX var y:Number = mouseY; var temp:Particle = p; while (temp) { temp.x += (x - temp.x) * 0.9; temp.y += (y - temp.y) * 0.9; var d:Number = Number(temp.data); graphics.drawEllipse(temp.x-d/2, temp.y, d,d/3); x = temp.x + (Math.random() * d - d / 2) / 4; y = temp.y - 3; temp = temp.next; } view.bitmapData.colorTransform(view.bitmapData.rect, ct); view.bitmapData.draw(pen); } } } class Particle { public var x:Number=0; public var y:Number = 0; public var data:Object; public var next:Particle; } Code Fullscreen Preview Fullscreen hesselbom merrycat andrewexex88.. butchi : graphic graphic ColorTransform graphics mouseY mouseX addChild Object addEventListener Event.ENTER_FRAME Event Math.random Sprite int Number sort new page view favorite forked pv121 forked from: forked from: wind.. iflex4 forked:0 favorite:0lines:64 (diff:1)