code circle delete lock Revision 663033316431 (Mon Nov 09 2009 at 23:26) - Diff Link to this snippet: https://friendpaste.com/23ImSCDq41zmXXmYUqtT0x Embed: manni perldoc borland colorful default murphy trac fruity autumn bw emacs pastie friendly Show line numbers Wrap lines 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980var radius: Number = 150;var angle: Number = 0;var totalNumbers: Number = 8;var nx: Number;var ny: Number;//stage.scaleMode = StageScaleMode.NO_SCALE;stage.align = StageAlign.TOP_LEFT;var bg: Sprite = new Sprite();bg.graphics.beginFill( 0xCCCCCC, 1 );bg.graphics.drawRect( 0, 0, radius * 2, radius * 2 );bg.graphics.endFill();addChild(bg);var circle: Sprite = new Sprite();circle.graphics.lineStyle( 4, 0xFFFFFF, 1, true, "normal", CapsStyle.SQUARE, null, 3);circle.graphics.beginFill( 0x888888, 1 );circle.graphics.drawCircle( radius, radius, radius);circle.graphics.endFill();addChild(circle);var holder: Sprite = new Sprite();holder.graphics.beginFill( 0xFF0000, 0 );holder.graphics.drawRect( 0, 0, radius * 2, radius * 2 );holder.graphics.endFill();addChild(holder);bg.x = Math.round((stage.stageWidth - bg.width) / 2);bg.y = Math.round((stage.stageHeight - bg.height) / 2);circle.x = Math.round((stage.stageWidth - circle.width) / 2);circle.y = Math.round((stage.stageHeight - circle.height) / 2);//var c: Number = 0xFF0000;for ( var i: Number=0; i < totalNumbers; i++ ) { var b: Sprite = new Sprite(); if ( i > 0 && i < totalNumbers - 1) c = 0xFF0000; if ( i == totalNumbers - 1 ) c = 0x0000FF; b.graphics.beginFill( c, 1 ); b.graphics.drawRect( 0, 0, 45, 50 ); b.graphics.endFill(); // start in the middle of the top part of the circle with drawing blocks // first one is green, last one is blue angle = 180 - ( 360 / totalNumbers ) * i; nx = Math.sin( Math.PI / 180 * angle ) * ( ( radius - 4 ) + b.height ); ny = Math.cos( Math.PI / 180 * angle ) * ( ( radius - 4 ) + b.height ); // reposition the current block b.rotation = ( 180 - angle ); b.x = ( nx + ( radius ) ); b.y = ( ny + ( radius ) ) ; holder.addChild(b); trace("angle=" + angle );}holder.x = bg.x;holder.y = bg.y;var origin: Point = new Point( holder.x, holder.y );var p: Point = new Point( origin.x + radius, origin.y + radius );var d: Number = 0;this.addEventListener(Event.ENTER_FRAME, function(e:Event):void { rotate(holder, 2, p );}); // rotates target based on the given originfunction rotate(target:DisplayObject, angle:Number, op:Point) { var matrix: Matrix = target.transform.matrix; matrix.translate( -op.x, -op.y ); matrix.rotate( angle * ( Math.PI/180 ) ); matrix.translate( op.x, op.y ); target.transform.matrix = matrix; }