package { import cluster.ClusterEngine; import display.BoxBug; import flash.display.Sprite; import fl.motion.Color; [SWF(width="500", height="500")] public class Main extends Sprite { protected var _engine:ClusterEngine; protected var _bugs:Array = new Array(); public function Main() { stage.scaleMode = "noScale"; stage.align = "TL" _engine = new ClusterEngine( stage ); init(); } protected function init():void { var num:int = 10; while (_bugs.length < num) { var colour:uint = Color.interpolateColor( 0xFF0000, 0x0000FF, _bugs.length / num ); var bug:BoxBug = new BoxBug( colour ); _bugs.push( bug ); _engine.addNodeToTree( bug ); bug.x = Math.random() * stage.stageWidth; bug.y = Math.random() * stage.stageHeight; addChild(bug); } _bugs[0].addSibling( _bugs[1] ); _bugs[0].addSibling( _bugs[4] ); _bugs[0].addSibling( _bugs[5] ); _bugs[1].addSibling( _bugs[0] ); _bugs[1].addSibling( _bugs[4] ); _bugs[1].addSibling( _bugs[8] ); _bugs[2].addSibling( _bugs[3] ); _bugs[2].addSibling( _bugs[5] ); _bugs[2].addSibling( _bugs[9] ); _bugs[3].addSibling( _bugs[2] ); _bugs[3].addSibling( _bugs[9] ); _bugs[3].addSibling( _bugs[6] ); _bugs[4].addSibling( _bugs[0] ); _bugs[4].addSibling( _bugs[1] ); _bugs[4].addSibling( _bugs[7] ); _bugs[5].addSibling( _bugs[0] ); _bugs[5].addSibling( _bugs[2] ); _bugs[5].addSibling( _bugs[7] ); _bugs[6].addSibling( _bugs[3] ); _bugs[6].addSibling( _bugs[7] ); _bugs[6].addSibling( _bugs[8] ); _bugs[7].addSibling( _bugs[4] ); _bugs[7].addSibling( _bugs[5] ); _bugs[7].addSibling( _bugs[6] ); _bugs[8].addSibling( _bugs[1] ); _bugs[8].addSibling( _bugs[6] ); _bugs[8].addSibling( _bugs[9] ); _bugs[9].addSibling( _bugs[2] ); _bugs[9].addSibling( _bugs[3] ); _bugs[9].addSibling( _bugs[8] ); _engine.start(); } } }