flash on 2013-11-21

by Linkforce
♥0 | Line 68 | Modified 2013-11-21 10:32:37 | MIT License
play

ActionScript3 source code

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

package {
    import flash.geom.Matrix;
    import flash.events.Event;
    import flash.display.BitmapData;
    import flash.display.Bitmap;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        public var dimensions:Number = Math.sqrt(24*24+24*24);
        public var sprite:Sprite = new Sprite
        public var bmpd:BitmapData = new BitmapData(dimensions,dimensions,true, 0x00000000);
        public var bitmap:Bitmap = new Bitmap
        public var imgCache:Bitmap = new Bitmap;
        public var container:Sprite = new Sprite;
        
        public function FlashTest() {
            // write as3 code here.
            
            
            drawMap();
            sprite.graphics.beginFill(0xFF0000, 1);
            //sprite.graphics.drawCircle(12,12,12);
            sprite.graphics.moveTo(0,24)
            sprite.graphics.lineTo(12,0);
            sprite.graphics.lineTo(24,24);
            sprite.graphics.endFill();
            
            bmpd.draw(sprite);
            bitmap = new Bitmap(bmpd);
            
            bitmap.x = stage.stageWidth / 2;
            bitmap.y = stage.stageHeight / 2;
            
            addChild(bitmap);
            
            imgCache = new Bitmap(bmpd);
            container.addChild(imgCache);
            
            imgCache.x = -(imgCache.width / 2);
            imgCache.y = -(imgCache.height / 2);
            
            this.addEventListener(Event.ENTER_FRAME, onFrame);
        }
        
        public function drawMap():void{
            var grid:Sprite = new Sprite;
            addChild(grid);
            
            grid.graphics.lineStyle(1, 0xEEEEEE);
            var w:Number = 0
            var h:Number = 0;
            
            while(h < stage.stageWidth){
                h += 10;
                
                grid.graphics.moveTo(0, h);
                grid.graphics.lineTo(stage.stageWidth, h)
            }

            while(w<stage.stageHeight){
                w += 10                    
                grid.graphics.moveTo(w,0);
                grid.graphics.lineTo(w, stage.stageHeight);
            }
            
            
            
            var center:Sprite = new Sprite;
            
            center.graphics.beginFill(0xFF00FF, 1);
            center.graphics.drawCircle(0,0,2);
            center.graphics.endFill();
            
            center.x = int(stage.stageWidth/2)
            center.y = int(stage.stageHeight/2)
            
            addChild(center);
            
            
            
            
            
            
 
            
            
        }

        public var angle:Number = 0;
        public function onFrame(e:Event):void{
            //bitmap.rotation+= 10
            container.rotation = angle;
            var bmpd:BitmapData = new BitmapData(dimensions, dimensions, true, 0x00000000);
            var matrix:Matrix = new Matrix()
            angle++
            matrix.rotate(angle * Math.PI / 180);
            matrix.translate(imgCache.width/2, imgCache.height/2)
            bmpd.draw(container, matrix);
            bitmap.bitmapData = bmpd;
        }

    }
}