psychic simulation

by PXshadow
♥0 | Line 173 | Modified 2015-09-17 00:40:29 | 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/4naD
 */

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();
            
            //hud
            var infoText:TextField = new TextField();
            
            
            //input compents
            var Vo:TextField = new TextField;
            var Vf:TextField = new TextField;
            var time:TextField = new TextField;
            
            var VoText:TextField = new TextField;
            var VfText:TextField =  new TextField;
            var timeText:TextField = new TextField;
            
            
            
            
            
            var player: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 simTime :Number = 0;
             
            
            var gravityBool:Boolean = false;
            var gravityInt:Number = 9.8;
            var gravityTime:Number = 0;
            
            var playerX:Number = 0;
            var playerY:Number = 0;
            
            
            
            
            
            
            var speed:Number = 5;
            
            
            //create player
            
            player.graphics.lineStyle(0x000000);

            player.graphics.beginFill(0xFFFFFF);

            player.graphics.drawRect(0,0,5,5);

            player.graphics.endFill();
            
            
            //add to stage
            addChild(player);
            addChild(devText);
            addChild(infoText);
            addChild(VoText);
            addChild(VfText);
            addChild(timeText);
            
            addChild(time);
            addChild(Vf);
            addChild(Vo);
            
            
            
            
            
            
            
            
            
            //start/begin/initilaze 
            
            //pos
            infoText.x = stage.stageWidth - infoText.width;
            infoText.y = stage.stageHeight/2;
            
            timeText.y = 200;
            VfText.y = 300;
            VoText.y = 400;
            
            time.y = 200;
            Vf.y = 300;
            Vo.y = 400;
            
            time.x = 50;
            Vf.x = 50;
            Vo.x = 50;
            
            time.height = 20;
            Vf.height = 20;
            Vo.height = 20;
            
            
            time.border = true;
            Vf.border = true;
            Vo.border = true;
            
            
            time.type = "input";
            Vf.type = "input";
            Vo.type = "input";
            
            
            
            
            
            
            
            
            
         
            
            
            
            
            
            
            
            
            //text
            infoText.text = "g press Gravity \n space press start/stop";
            timeText.text = "time:";
            VoText.text = "Vo:";
            VfText.text = "Vf:";
            
           
            
            
            

        function init(e:Event = null):void 

        {
            
            
        }

            
            
            //loop
            addEventListener(Event.ENTER_FRAME, function(_:Event):void {
                
                
                //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){
          
        if(spacePressed == false){
            spacePressed = true;
          simTime = 0;
          playerX = player.x;
          playerY = player.y;
        }else{
            spacePressed =  false;
        }

          
          
      }
      
      if(event.keyCode == 71){
          
          if(gravityBool == true){
              
              gravityBool = false;
          }else{
gravityBool = true;     
gravityTime = 0;         
          }
          }


      



      
      });


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;

      }
      
      if(event.keyCode == 32){
          
          
      }

    
    
});


//player move
if(upPressed == true){
    
    player.y += -speed;
}

if(downPressed == true){
    
    player.y += speed;
}
if(leftPressed == true){
    player.x += -speed;
}

if(rightPressed == true){
    player.x += speed;
}


//gravity 
if(gravityBool == true){
    gravityTime += 1/stage.frameRate;
    player.y += gravityInt * gravityTime * gravityTime;
    
    
}

//teleport back on stage

if(player.y > stage.stageHeight){
    
    player.y = stage.stageHeight - 20;
    gravityBool = false;
    
}

if(player.y <=  stage.stageHeight - 20){
    gravityBool = true;
}


  if(player.y < 0){
      player.y = 20;
  }
  


if(player.x  < 20){
    
    player.x = 20;
}

if(player.x > stage.stageWidth){
    
    player.x = 20;
}

//simulation start bool
if(spacePressed == true && Number(time.text) > 0 && Number(Vo.text) > 0){
    simTime += 1/stage.frameRate;
    
    player.x += Number(Vo.text) * 1/stage.frameRate;
    player.y -=  Number(Vo.text) * 1/stage.frameRate;

     
    
    
}


if(Number(time.text) > 0){

if(simTime >= Number(time.text  )){
    
    
}

}



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


player.startDrag();

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



player.stopDrag();

});     
        
        
        
        
                
            });

            
            
            
            
        }
    }
}

Forked