[英]Why doesn't the FPS print in my window?
我相信,一旦启动此程序, FPS就会打印在新窗口的某个位置。 我看到了窗口,但FPS没有显示在窗口中。 怎么了?
public class Game extends Canvas implements Runnable {
private static final long serialVersionUID = 1L;
public static final int WIDTH = 640, HEIGHT = WIDTH / 12 * 9;
private Thread thread;
private boolean running = false;
public Game() {
new Window(WIDTH, HEIGHT, "MY GAME", this);
}
public synchronized void start() {
thread = new Thread(this);
thread.start();
running = true;
}
public synchronized void stop() {
try {
thread.join();
running = false;
} catch (Exception e) {
e.printStackTrace();
}
}
public void run() {
long lastTime = System.nanoTime();
double amountOfTicks = 60.0;
double ns = 1000000000 / amountOfTicks;
double delta = 0;
long timer = System.currentTimeMillis();
int frames = 0;
while (running) {
long now = System.nanoTime();
delta += (now - lastTime) / ns;
lastTime = now;
while (delta <= 1) {
delta--;
}
if (running)
frames++;
if (System.currentTimeMillis() - timer > 1000) {
timer += 1000;
System.out.println("fps: " + frames);
frames = 0;
}
}
stop();
}
public static void main(String args[]) {
new Game();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.