Guest User

Launcher.java

a guest
Nov 13th, 2016
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1. package vaysym;
  2. import java.awt.Canvas;
  3. import javax.swing.JFrame;
  4.  
  5. public class Launcher extends Canvas implements Runnable{
  6.     public static JFrame frame;
  7.     private Thread thread;
  8.     private boolean running = false;
  9.     public static String inputString = "";
  10.    
  11.     public Launcher(){
  12.         new Window(this);
  13.         this.addKeyListener(new Keyboard());
  14.         this.start();
  15.     }
  16.    
  17.     public void setFrame(JFrame frame){
  18.         Launcher.frame = frame;
  19.     }
  20.    
  21.     public synchronized void start(){
  22.         thread = new Thread(this);
  23.         thread.start();
  24.         running = true;
  25.     }
  26.     public synchronized void stop(){
  27.         try{
  28.             thread.join();
  29.             running = false;
  30.         }catch(Exception e){
  31.             e.printStackTrace();
  32.         }
  33.     }
  34.  
  35.     public void run(){
  36.         long lastTime = System.nanoTime();
  37.         double amountOfTicks = 60;
  38.         double ns = 1000000000 / amountOfTicks;
  39.         double delta = 0;
  40.         long timer = System.currentTimeMillis();
  41.        
  42.         while(running){
  43.             long now = System.nanoTime();
  44.             delta += (now-lastTime)/ns;
  45.             lastTime = now;
  46.             while(delta >= 1){
  47.                 delta--;
  48.             }
  49.            
  50.             if(System.currentTimeMillis()-timer > 1000){
  51.                 timer += 1000;
  52.             }
  53.         }
  54.     }
  55.    
  56.     public static void main(String args[]){
  57.         new Launcher();
  58.     }
  59. }
Add Comment
Please, Sign In to add comment