예제 #1
0
파일: Game.java 프로젝트: WesRichards/ustcp
 /** Run the main game loop. */
 public void run() {
   while (gameRunning) {
     // reset drawCount
     mapCount = 0;
     drawCount = 0;
     // clear screen
     gameWindow.clearScreen();
     // get delta
     timer.update();
     long delta = timer.getDelta();
     // update state
     stateManager.input(delta);
     stateManager.update(delta);
     stateManager.draw();
     // draw DebugHUD
     debugHUD.draw();
     // if escape has been pressed, stop the game
     if ((Display.isCloseRequested()
         || Keyboard.isKeyDown(Keyboard.KEY_ESCAPE) && Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))) {
       gameRunning = false;
     }
     // update window contents
     gameWindow.update();
   }
 }
예제 #2
0
파일: Game.java 프로젝트: WesRichards/ustcp
 /** Create particle for player thrust trail. */
 public void playerThrustTrail() {
   int delta = (int) timer.getDelta();
   for (int i = delta / 2; i > 0; i--) {
     double particleDX =
         (((Math.cos(Math.toRadians(player.getHeading() - 180))) * 0.05) + player.getDx())
             + Rnd.getRandomD(-0.005, 0.005);
     double particleDY =
         (((Math.sin(Math.toRadians(player.getHeading() - 180))) * 0.05) + player.getDy())
             + Rnd.getRandomD(-0.005, 0.005);
     ParticleSmoke smoke =
         new ParticleSmoke(
             this,
             player.getX(),
             player.getY(),
             particleDX,
             particleDY,
             Rnd.getRandomI(10, 70),
             0.1,
             0.2);
     particles.add(smoke);
   }
 }