flash on 2014-11-27

by Thy
♥0 | Line 101 | Modified 2014-11-27 18:34:55 | MIT License
play

ActionScript3 source code

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

package {
    import flash.events.KeyboardEvent;
    import flash.events.MouseEvent;
    import flash.display.Graphics;
    import flash.events.Event;
    import flash.display.Sprite;
    
    
    
    
    public class FlashTest extends Sprite {
        
        public var bar:Bar;
        private var movement:int;
        
        public function FlashTest() {
            
            bar = new Bar();
            draw();
            
            bar.vx = 10;
            bar.vy = 10;
            
            
            stage.addEventListener(Event.ENTER_FRAME, ef);
            stage.addEventListener(KeyboardEvent.KEY_DOWN, kd);
            stage.addEventListener(KeyboardEvent.KEY_UP, ku);
        }
        
        private function draw():void {
            
            bar.draw();
            this.addChild(bar);
        
            
        
        }
    
        private function kd(e:KeyboardEvent):void {
            trace(e.keyCode)
            switch (e.keyCode) {
                case 37: // left
                    movement |= 0x0001;
                    movement &= 0x1101;
                break;
                case 39: // right
                     movement |= 0x0011;
                 break;
            }
            switch (e.keyCode) {
                case 38: // up
                    movement |= 0x1100;
                break;
                case 40: // down
                    movement |= 0x0100;
                    movement &= 0x0111;
                break;
            }


        

        }
    
        private function ku(e:KeyboardEvent):void {
            trace(e.keyCode)
            switch (e.keyCode) {
                case 37: // left
                    movement &= 0x1100;
                break;
                case 39: // right
                     movement &= 0x1110;
                break
            }
            switch (e.keyCode) {
                case 38: // up
                    movement &= 0x1011;
                break;
                case 40: // down
                    movement &= 0x0011;
                break;
            }
        }

    
        private function ef(e:Event):void {
            
            bar.rotate();
            bar.move(movement);
            
            


            

        
   
        }
    }
    
    
    

    
}

import flash.display.Sprite;
import flash.display.Graphics;

class Bar extends Sprite {
    
    public var vx:Number, vy:Number, 
        ax:Number = 0.5, ay:Number = 0.5, 
        mx:Number = 10, my:Number = 10,
        spin:Number = 10;
        
        public function draw():void {
            
            var g:Graphics = this.graphics;
            g.lineStyle(10,0);
            g.moveTo(-20,0);
            g.lineTo(20,0);
            
        }
        
        public function rotate():void {
            this.rotation += spin;    
        }
        
        public function move(movement:int) :void{
            if (movement & 0x1) {
                 vx += ax * (((movement & 0x10) - 1));   
            }
            if (movement & 0x0100) {
                vy -= ay * (((movement & 0x1000) - 4) >> 3);
            }
            if (movement & 0x0101) {
                vx = vx > mx ? mx : vx < -mx ? -mx : vx;
                vy = vy > my ? my : vy < -my ? -my : vy;
                
            }
            vx *= .9;
            vy *= .9;
            x += vx;
            y += vy;
        }


        
        
     

        
        
        
}