forked from: psychic simulation

by PXshadow forked from psychic simulation (diff: 179)
♥0 | Line 124 | Modified 2015-09-23 12:55:06 | MIT License
play

ActionScript3 source code

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

// forked from PXshadow's psychic simulation 
package {
    import flash.text.TextFieldAutoSize;
    import flash.text.TextField;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
     import flash.events.MouseEvent;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            
            if (stage) init();

            else addEventListener(Event.ADDED_TO_STAGE, init);
            
            var devText:TextField = new TextField();
            
      
            var devBox:MovieClip = new MovieClip();
  

            var playerXold:Number = 0;
            var playerYold:Number = 0;
            
            
            var player:MovieClip = new MovieClip();
            var shipCollison:MovieClip = new MovieClip();
            var ship:MovieClip = new MovieClip();
            
            
            
            //key bools
            var upPressed:Boolean = false;
            var downPressed:Boolean = false;
            var leftPressed:Boolean = false;
            var rightPressed:Boolean = false;
            var spacePressed:Boolean = false;
            
           var i:Number = 0;
           var playerX:Number = 0;
           var playerY:Number = 0;
           
            
       
         
            var shipRotationOld:Number = 0;
            
            
            
            
            
            var speed:Number = 5;
            
            
            //create player
            
            player.graphics.lineStyle(0x000000);

            player.graphics.beginFill(0xFFFFFF);

            player.graphics.drawRect(-2.5,-2.5,5,5);

            player.graphics.endFill();
            
            
            //create ship
           shipCollison

            

            shipCollison.graphics.drawRect(-80,-55,130,80);
            
            
            ship.graphics.lineStyle(1,0xFF0000);
            ship.graphics.drawRect(-80, -55, 130, 80);
            
            

            
            
            
            
            devBox.graphics.lineStyle(0x000000);

            devBox.graphics.beginFill(0xFFFFFF);

            devBox.graphics.drawRect(-2.5,-2.5,5,5);

            devBox.graphics.endFill();
            
            
            
            //add to stage
              addChild(shipCollison);
            addChild(player);
            addChild(devText);
            addChild(devBox);
            addChild(ship);
            
            
            shipCollison.visible = false;
          
           //pos
           shipCollison.x = stage.stageWidth/2;
           shipCollison.y = stage.stageHeight/2;
           
            
            
            shipCollison.rotation = 0;
            



player.x = shipCollison.x;

player.y = shipCollison.y;



            

            

playerXold = player.x;

playerYold = player.y;




 
        function init(e:Event = null):void 

        {
            
            
        }

            
            
            //loop
            addEventListener(Event.ENTER_FRAME, function(_:Event):void {
                
                

ship.rotation += 1;

ship.x = shipCollison.x;
ship.y = shipCollison.y;

//ship.rotation = shipCollison.rotation;
shipCollison.rotation = ship.rotation;









                
             
                
                
                
                //key board
                



stage.addEventListener(KeyboardEvent.KEY_DOWN, function(event:KeyboardEvent):void {
     
     //display key number aka code
      //devText.text = String("key " + event.keyCode);
      
      
      if(event.keyCode == 38){
          
          upPressed = true;
      }
      
      if(event.keyCode == 40){
          
          downPressed = true;
      }
      
      if(event.keyCode == 37){
          
          leftPressed = true;
          
          
      }
      
      if(event.keyCode == 39){
          rightPressed = true;
      }

  if(event.keyCode == 32){
    
    
    
  }
      

          
        


      



      
      });


stage.addEventListener(KeyboardEvent.KEY_UP, function(event:KeyboardEvent):void {
    
    
     if(event.keyCode == 38){

          

          upPressed = false;

      }

      

      if(event.keyCode == 40){

          

          downPressed = false;

      }

      

      if(event.keyCode == 37){

          

          leftPressed = false;

          

          

      }

      

      if(event.keyCode == 39){

          rightPressed = false;

      }
      
     
    
    
});

//player move

if(upPressed == true){
    
    player.x += Math.cos(player.rotation * Math.PI/180) * speed;
    player.y += Math.sin(player.rotation * Math.PI/180) * speed;
    
}



//collison 





if(shipCollison.hitTestPoint(player.x,player.y ,true)){
    
    player.x = playerXold;
    player.y = playerYold;
    
if(shipCollison.hitTestPoint(playerXold,playerYold,true)){
    
    if(shipCollison.x > player.x){
        player.x += speed;
    }else{
        player.x += -speed;
    }
    
    if(shipCollison.y > player.y){
        player.y += speed;
        
    }else{
        
        player.y += -speed;
    }




}
     
      
    }


 playerXold = player.x;
      playerYold = player.y;
      







stage.addEventListener(MouseEvent.MOUSE_DOWN, function(event:MouseEvent):void {


player.startDrag();

});           
        
       
       stage.addEventListener(MouseEvent.MOUSE_UP, function(event:MouseEvent):void {



player.stopDrag();

});     
        
        
        
        
                
            });

            
            
            
            
        }
    }
}