ugokasu練習3

by plus-tic
♥0 | Line 56 | Modified 2010-04-23 10:53:20 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    
    public class Main extends Sprite {
        private var player:Sprite;
        private var left:Boolean =false;
        private var right:Boolean = false;
        private var top:Boolean = false;
        private var bottom:Boolean = false;
        private const SPEED:int = 10;        
        
        public function Main() {
        		player = new Sprite();
        		player.graphics.beginFill(0xff0000);
        		player.graphics.drawCircle(0,0,20);
        		player.graphics.endFill();
        		player.x = player.y = 232;
        		addChild(player);
            
            addEventListener(Event.ENTER_FRAME,onEnterFrame);
            stage.addEventListener(KeyboardEvent.KEY_DOWN,onKeyDown);
            stage.addEventListener(KeyboardEvent.KEY_UP,onKeyUp);          
        }
        
        private function onEnterFrame(e:Event):void{
        		var speed:Number = SPEED*Math.cos(45*Math.PI/180);
        		
        		if(left&&top){
        			player.x -= speed;
        			player.y -= speed;
        		}else if(top&&right){
        			player.x += speed;
        			player.y -= speed;
        		}else if(right&&bottom){
        			player.x += speed;
        			player.y += speed;
        		}else if(bottom&&left){
        			player.x -= speed;
        			player.y += speed;
        		}
        		else if(left)player.x -= SPEED;
        		else if(right)player.x += SPEED;
        		else if(top)player.y -= SPEED;
        		else if(bottom)player.y += SPEED;
        }
        
        
        private function onKeyDown(e:KeyboardEvent):void{
        	if(e.keyCode ==37)left = true;
        	if(e.keyCode ==39)right = true;
        	if(e.keyCode ==38)top = true;
        	if(e.keyCode ==40)bottom = true;
        }
        
        private function onKeyUp(e:KeyboardEvent):void{
        	if(e.keyCode ==37)left = false;
        	if(e.keyCode ==39)right = false;
        	if(e.keyCode ==38)top = false;
        	if(e.keyCode ==40)bottom = false;
        }         
        
    }
}