Infinite Hexagon

by 9dim
Just keep drawing Hexagon
♥0 | Line 32 | Modified 2011-06-25 10:47:31 | MIT License
play

ActionScript3 source code

/**
 * Copyright 9dim ( http://wonderfl.net/user/9dim )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/umrw
 */

package {
    import flash.display.Sprite;
    import flash.display.Stage;
    import flash.events.Event;
    import flash.display.Graphics;

    public class FlashTest extends Sprite {
            
        private var sprite : Sprite = new Sprite();
        private var graphic : Graphics = sprite.graphics;

        public function FlashTest() {
            addChild(sprite);

            graphic.beginFill(0x000000, 1);
            graphic.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
            graphic.endFill();
            
            addEventListener(Event.ENTER_FRAME,drawHex);
        }
        
        private function drawHex(e:Event):void {
        
            var X : Number = Math.random() * stage.stageWidth;
            var Y : Number = Math.random() * stage.stageHeight;
            var r : Number = Math.random() * 200;
            var deg : Number = Math.random() * 180;
             
            var color : Number = Math.random() * 255 * 255 * 255 ;
            graphic.lineStyle(0,color,1);
        
            //Draw Hexagon
            graphic.moveTo(X + r * Math.cos(Math.PI / 180 * deg), Y + r * Math.sin(Math.PI / 180 * deg));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+60)), Y + r * Math.sin(Math.PI / 180 * (deg+60)));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+120)), Y + r * Math.sin(Math.PI / 180 * (deg+120)));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+180)), Y + r * Math.sin(Math.PI / 180 * (deg+180)));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+240)), Y + r * Math.sin(Math.PI / 180 * (deg+240)));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+300)), Y + r * Math.sin(Math.PI / 180 * (deg+300)));
            graphic.lineTo(X + r * Math.cos(Math.PI / 180 * (deg+360)), Y + r * Math.sin(Math.PI / 180 * (deg+360)));

        
        }
    }
}