Advertisement
Guest User

SlashC++Programmer

a guest
Jan 22nd, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.display.Shape;
  4.     import flash.display.Sprite;
  5.     import flash.events.Event;
  6.    
  7.     /**
  8.      * ...
  9.      * @author SlashC++Programmer
  10.      */
  11.     public class Main extends Sprite
  12.     {
  13.         private var dx:Number;
  14.         private var dy:Number;
  15.        
  16.         private static var screenWidth:Number = 800;
  17.         private static var screenHeight:Number = 600;
  18.        
  19.         public function Main()
  20.         {
  21.             if (stage) init();
  22.             else addEventListener(Event.ADDED_TO_STAGE, init);
  23.         }
  24.        
  25.         public function init(e:Event = null):void
  26.         {
  27.             removeEventListener(Event.ADDED_TO_STAGE, init);
  28.        
  29.             // make square
  30.             var square:Shape = new Shape();
  31.             square.graphics.beginFill(0xff0000, 1);
  32.             square.graphics.drawRect(0, 0, 64, 64);
  33.             square.graphics.endFill();
  34.             addChild(square);
  35.            
  36.             square.x = 40;
  37.             square.y = 40;
  38.             dx = 2;
  39.             dy = 2;
  40.            
  41.             //timebase values
  42.             var passed:Number = 0;
  43.             var now:Number = 0;
  44.             var accumulator:Number = 0;    
  45.             var dt:Number = 1000 / 60;
  46.             var frameRate:Number = 60 / 1000;
  47.             var last:Number = new Date().getTime();
  48.            
  49.            
  50.             addEventListener(Event.ENTER_FRAME, GameLoop);
  51.            
  52.             function GameLoop(e:Event):void
  53.             {
  54.                 now = new Date().getTime();
  55.                 passed = now - last;
  56.                 last = now;
  57.  
  58.                 accumulator += passed;
  59.                
  60.                
  61.                 while (accumulator >= dt)
  62.                 {
  63.                     Update(dt);
  64.                     accumulator -= dt;
  65.                 }
  66.             }
  67.            
  68.             function Update(deltaTime:Number):void
  69.             {
  70.                 square.x += dx * deltaTime * frameRate;
  71.                 square.y += dy * deltaTime * frameRate;
  72.                
  73.                 if (square.x <= 0 ||  square.x >= screenWidth - square.width)
  74.                 {
  75.                     dx = -dx;
  76.                 }
  77.                
  78.                 if (square.y <= 0 ||  square.y >= screenHeight - square.height)
  79.                 {
  80.                     dy = -dy;
  81.                 }
  82.             }
  83.            
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement