Forked from: PrettyMuchBryce's hyperdiscosquares diff:20 forked from: hyperdiscosquares Messing around PrettyMuchBr.. forked:1favorite:1lines:71license : MIT License modified : 2011-07-22 09:19:28 Embed Tweet // forked from PrettyMuchBryce's hyperdiscosquares package { //Messing around import flash.display.Sprite; import flash.events.Event; import flash.display.Bitmap; import flash.events.MouseEvent; import flash.display.BitmapData; [ SWF (width = '400', height = '500', backgroundColor = '0x000000', frameRate = '60')] public class FlashTest extends Sprite { private var _squares:Vector.<Square>; private var _buffer:Bitmap; private var _tick:int = 0; private const _tickMax:int = 5; public function FlashTest() { _buffer = new Bitmap(new BitmapData(500,500,false,0x0),"auto",false); _squares = new Vector.<Square>(100); addEventListener(Event.ENTER_FRAME,update); stage.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove); addChild(_buffer); _buffer.x=-50; for (var i:int = 0; i < 500/50; i++) { for (var j:int = 0; j < 500/50; j++) { _squares[(i*10)+j]=new Square(i*50,j*50); } } } public function update(e:Event):void { _tick++; if (_tick > _tickMax) { for (var i:int=0; i < 100; i++) { _squares[i].colorize(); _squares[i].render(_buffer.bitmapData); } _tick = 0; } } public function onMouseMove(e:MouseEvent):void { //_squares[0].setScale(2); _squares[(Math.ceil(stage.mouseX/50)*10)+Math.floor(stage.mouseY/50)].setColor(0xFF0000); _squares[(Math.ceil(stage.mouseX/50)*10)+Math.floor(stage.mouseY/50)].render(_buffer.bitmapData); } } } import flash.display.AVM1Movie; import flash.display.Shape; import flash.geom.Rectangle; import flash.display.Sprite; import flash.display.BitmapData; internal class Square { private var myColor:uint; private var x:Number; private var y:Number; private var rect:Rectangle; public function Square(X:Number,Y:Number):void { x = X; y = Y; rect = new Rectangle(x,y,50,50); colorize(); } public function colorize():void { myColor = myColor+(Math.random()*0xFFFFFF)/1000; } public function setColor(c:uint):void { myColor = c; } public function setScale(scale:int):void { rect.width=rect.width*scale; rect.height=rect.height*scale; } public function render(target:BitmapData):void { target.fillRect(rect,myColor); } } Code Fullscreen Preview Fullscreen codeonwort : mouse mouse Math.ceil rect height Rectangle Math.floor target MouseEvent.MOUSE_MOVE fillRect width MouseEvent.ENTER_FRAME BitmapData MouseEvent Vector Math.random uint Number int sort new page view favorite forked pv645 forked from: forked from: hype.. 0xABCDEF forked:0 favorite:4lines:90 (diff:22)