flash on 2014-11-16

by mutantleg
♥0 | Line 61 | Modified 2014-11-16 20:12:57 | 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/6kmt
 */

package {
    import flash.ui.Keyboard;
    import flash.events.KeyboardEvent;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
        
        
            myCrate = new xCrate();
            myCrate.cx = 230;
            myCrate.cy = 160;
        
        
            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 var vecKey:Vector.<Boolean> = new Vector.<Boolean>(512,false);
        
        public var cx:Number = 230;
        public var cy:Number = 230;
        public var vx:Number = 0;
        public var vy:Number = 0;
        
        public var myCrate:xCrate;
        
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2,0);
            
            var ms:Number;
            ms = 3;
          //  vx = 0; vy = 0;
            if (vecKey[Keyboard.UP]) { vy -= ms; }
            if (vecKey[Keyboard.DOWN]) { vy += ms; }
            if (vecKey[Keyboard.LEFT]) { vx -= ms; }
            if (vecKey[Keyboard.RIGHT]) { vx += ms; }
            
            cx+=vx;            cy+=vy;
            vx *= 0.7; vy *= 0.7;
            
            graphics.drawCircle(cx,cy, 16);
            
            var kx:Number; var ky:Number; var kr:Number; var cr:Number;
            kx = cx; ky = cy; kr = 16; cr = 16;
            if ((kx-kr > myCrate.cx+cr)==false)
            if ((ky-kr > myCrate.cy+cr)==false)
            if ((kx+kr < myCrate.cx-cr)==false)
            if ((ky+kr < myCrate.cy-cr)==false)
            {     
              myCrate.vx += vx;
              myCrate.vy += vy;
              vx =0; vy =0;
            }//endif
            
            
            myCrate.cx += myCrate.vx;
            myCrate.cy += myCrate.vy;
            myCrate.vx *= 0.6;
            myCrate.vy *= 0.6;
            graphics.drawRect(myCrate.cx-16,myCrate.cy-16,32,32);
            
            
        }//onenter
        
        
    }//classend
}

internal class xCrate
{
   public var cx:Number = 0;
   public var cy:Number = 0;
   public var vx:Number = 0;
   public var vy:Number = 0;
    
}//xcrate