ゲームにfpsカウンターを追加していましたが、追加する前は正常に機能していましたが、現在はホワイトボックスになっており、コンソールでは驚くべき速度で0fpsを出力します。
private void start() {
if (running) {
return;
}
running = true;
thread = new Thread(this);
thread.start();
System.out.println("Error Free!");
}
public void stop() {
if (!running) {
return;
}
running = false;
try {
thread.join();
} catch (Exception e) {
e.printStackTrace();
System.exit(0);
}
}
public void run() {
int frames = 0;
double UnproccesedSeconds = 0;
long PreviousTime = System.nanoTime();
double SecondsPerTick = 1 / 60.0;
int TickCount = 0;
boolean Ticked = false;
while (running) {
long CurrentTime = System.nanoTime();
long PassedTime = CurrentTime - PreviousTime;
PreviousTime = CurrentTime;
UnproccesedSeconds += PassedTime / 1000000000.0;
while (UnproccesedSeconds < SecondsPerTick) {
tick();
UnproccesedSeconds -= SecondsPerTick;
Ticked = true;
TickCount++;
if (TickCount % 60 == 0) {
System.out.println(frames + "fps");
PreviousTime += 1000;
frames = 0;
}
}
if (Ticked) {
render();
frames++;
}
render();
frames++;
}
}
private void tick() {
}
private void render() {
BufferStrategy bs = this.getBufferStrategy();
if (bs == null) {
createBufferStrategy(3);
return;
}
Screen.render();
for (int i = 0; i < WIDTH * LENGTH; i++) {
PIXELS[i] = Screen.PIXELS[i];
}
}
私はそれを調べましたが、何が悪いのかわかりません。誰かが私に戻ってくることができれば、それは素晴らしいことです!