flash on 2016-1-16

by mutantleg
♥0 | Line 60 | Modified 2016-01-16 12:06:36 | 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/gSLG
 */

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() {
            
            
           stage.addEventListener(KeyboardEvent.KEY_DOWN, onKdown);
           stage.addEventListener(KeyboardEvent.KEY_UP, onKup);
           stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var vecKey:Vector.<Boolean> = new Vector.<Boolean>(512, false);
        public function onKdown(e:KeyboardEvent):void { vecKey[e.keyCode]=true; }
        public function onKup(e:KeyboardEvent):void { vecKey[e.keyCode] =false;}
        public function isKeyDown(k:int):Boolean { return vecKey[k]; }
        
        public var cx:Number = 130;
        public var cy:Number = 230;
        public var vx:Number = 0;
        public var vy:Number = 0;
        
        public var rx:Number = 230;
        public var ry:Number = 230;
        public var gy:Number = 230;
        
        public var gt:int = 1;
        public var dmgTime:int = 0;
        
        public function onEnter(e:Event):void
        {
            gy+=0.2;
            if (ry>= 230 && gy > 0) { ry=230;gy=-5;}
            ry+=gy;
            
            
            vx *= 0.93;
            vy+=0.2;
            if (cy>= 230 && vy > 0) { cy=230;vy=0;}
            cx+=vx; cy+=vy;
            var ms:Number;
            ms =0.3;
            if (isKeyDown(Keyboard.LEFT)) { vx -=ms;}
            if (isKeyDown(Keyboard.RIGHT)) { vx +=ms;}
            if (isKeyDown(Keyboard.UP) && cy>=220) { vy=-5;}
            
            if ((Math.abs(cx-rx)<24)
            && (vy>0)
            && (cy < ry)
            && (cy >= ry-16-16))
            { vy=-3; gy=1; }
         /*   else            
            if ((Math.abs(cx-rx)<24)
            && (vy<0)
            && (cy > ry)
            && (cy < ry+16+16))
            { vy=1; gy=-3; }*/
            else 
            if ((Math.abs(cx-rx)<24)
            && (Math.abs(cy-ry)<16) )
            { dmgTime = gt+3; }
            
            /*
            if (Math.abs(cx-rx)<24)
            if ((vy>=0 && cy < ry+16 ) || (vy<=0 && cy > ry-16 ) )
            { dmgTime = gt+20; }
            */
            
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            graphics.drawCircle(cx,cy, 16);
            graphics.drawRect(0,230+16,430,20);
             
            graphics.drawCircle(rx,ry,16);
            if (cy<ry)
            { graphics.moveTo(rx,ry); graphics.lineTo(cx,cy); } 
             
             if (dmgTime>=gt)
             { graphics.beginFill(0xFF0000,1); graphics.drawCircle(cx,cy,16); graphics.endFill(); }
            
            gt+=1;
        }//onenter
        
        
    }//classend
}