flash on 2012-7-12

by mutantleg
♥0 | Line 64 | Modified 2012-07-12 19:12:13 | MIT License
play

ActionScript3 source code

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

package {
    import flash.geom.Point;
    import flash.utils.Proxy;

    import flash.geom.Rectangle;
    import flash.geom.Matrix;
    import flash.events.Event;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
      
        public var pic:Bitmap;
        public var canvas:BitmapData; 
       
        public var block:BitmapData;
       
        public function FlashTest() {
            // write as3 code here..
            
            canvas = new BitmapData(450,450,false,0);
            pic = new Bitmap(canvas);
            addChild(pic);
            
            block = new BitmapData(64,64,false,0xFF0000);
            
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var ang:Number = 0;
        public var mat:Matrix = new Matrix();
        public var xva:Matrix = new Matrix();
        public var offx:Number = -32;
        public var offy:Number = -32;
        public var cx:Number = 150;
        public var cy:Number = 150;
        public var ax:Number = 32; 
        public var ay:Number = -4;
        public function onEnter(e:Event):void
        {
            ang += 0.01;
            
            canvas.lock();
            canvas.fillRect(canvas.rect, 0);
            
            mat.identity();
                mat.translate(offx,offy);
                mat.rotate(ang);
                mat.translate(cx, cy);
            
                canvas.draw(block, mat);
            
                drawRect(canvas, 0x0000FF,cx-4,cy-4,8,8);
                
                var kx:Number;
                var ky:Number;
                var mx:Number;
                var my:Number;
                mx = ax;
                my = ay;
                 
                kx = Math.cos(ang) * mx + Math.sin(ang) * my;
                ky = Math.sin(ang) * mx - Math.cos(ang) * my;
                //kx -= offx;
               // ky -= offy;
                kx += cx;
                ky += cy;  
                 
                drawRect(canvas, 0x00FF00, kx-4,ky-4,8,8);
            
            canvas.unlock();
        }//onenter
        
        public var rect:Rectangle = new Rectangle();
        public function drawRect(to:BitmapData, c:uint, dx:Number, dy:Number, dw:Number, dh:Number):void
        {
            rect.x = dx;
            rect.y = dy;
            rect.width = dw;
            rect.height = dh;
            to.fillRect(rect,c);
            
        }//drawrect
        
    }//classend
}