flash on 2014-12-29

by mutantleg
♥0 | Line 80 | Modified 2014-12-29 00:36:37 | 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/kyT2
 */

package {
    import flash.geom.Matrix;
    import flash.display.BitmapData;
    import flash.ui.Keyboard;
    import flash.events.KeyboardEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {

         vecKey = new Vector.<Boolean>(0, false);
         var i:int; for (i =0; i<512;i++) { vecKey.push(false);}

         tile = new BitmapData(64,64, false, 0);
         tile.perlinNoise(24,12, 6,3, true, true, 7, true);

         stage.addEventListener(KeyboardEvent.KEY_DOWN, onKdown);
         stage.addEventListener(KeyboardEvent.KEY_UP, onKup);
         stage.addEventListener(Event.ENTER_FRAME, onEnter);            
        }//ctor
        
        public function onKdown(e:KeyboardEvent):void { vecKey[e.keyCode]=true; }
        public function onKup(e:KeyboardEvent):void { vecKey[e.keyCode] =false; }
        public function isKdown(k:int):Boolean { return vecKey[k]; }
        
        public var vecKey:Vector.<Boolean>;
        
        public var camx:Number = 0;
        public var camy:Number = 0;
        
        public var camtx:Number = 0;
        public var camty:Number = 0;
        
        public var cx:Number = 160;
        public var cy:Number = 120;
        
        public var tile:BitmapData;
        
        public var mat:Matrix = new Matrix();
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            /*
            var t:Number;
            t = 0.1;
            t = 0.5;
            camx += (camtx-camx)*t;
            camy += (camty-camy)*t;
            */
            var ws:Number; 
            ws = 32;
            ws = 64;
            ws = 8;
            ws = 16;
            if (camx < camtx) { camx += ws; if (camx >= camtx) { camx = camtx;} }
            if (camx > camtx) { camx -= ws; if (camx <= camtx) { camx = camtx;} }
            if (camy < camty) { camy += ws; if (camy >= camty) { camy = camty;} }
            if (camy > camty) { camy -= ws; if (camy <= camty) { camy = camty;} }
            
            
            var sx:Number; var sy:Number;
            sx = int(camx); sy = int(camy);
            
            var kx:Number; var ky:Number;
            var ms:Number;
            ms = 8;
            kx = 0; ky = 0;
            if (isKdown(Keyboard.UP)) { cy -= ms; ky=-1;}
            if (isKdown(Keyboard.DOWN)) { cy += ms; ky=1;}
            if (isKdown(Keyboard.LEFT)) { cx -= ms; kx=-1; }
            if (isKdown(Keyboard.RIGHT)) { cx += ms; kx =1; }
            
            mat.tx = -sx; mat.ty = -sy;
            graphics.beginBitmapFill(tile, mat, true,false);
            graphics.drawRect(0-sx,0-sy, 512,512);
            graphics.endFill();
            
            
            graphics.beginFill(0, 1);
            graphics.drawCircle(camtx-sx+230,camty-sy+230,8);
            graphics.endFill();
            
            var i:int; var k:int;
            for (i = 0; i < 16; i++)
            for (k = 0; k < 16; k++)
            {
               graphics.drawCircle(k*128-sx,i*128-sy, 4);                    
            }
            
            
        
            graphics.beginFill(0xFFffFF,1);    
             graphics.drawCircle(cx-sx, cy-sy, 16);
            graphics.endFill();
            
            var ww:Number;
            var sw:Number;
            ww = 24; sw = 430;
            if (kx <0 && cx-camtx < ww) { camtx -= sw; }
            if (kx >0 && cx-camtx > 460-ww) { camtx += sw; }
            if (ky < 0 &&cy-camty < ww) { camty -= sw; }
            if (ky >0 && cy-camty > 460-ww) { camty += sw; }
            
            graphics.lineStyle(1, 0, 0.1);
            graphics.drawRect(ww,ww, (460-ww)-ww, (460-ww)-ww);
            
        }//onenter
        
        
    }//classend
}