Ich bins schon wieder
Meine repaint Methode flackert - Ich hab nachgelesen, dass man die Methode irgendwie in ein Timer packen soll, aber bei mir ist sie schon in einer GameLoop drin
Was kann man da tun ?
Meine repaint Methode flackert - Ich hab nachgelesen, dass man die Methode irgendwie in ein Timer packen soll, aber bei mir ist sie schon in einer GameLoop drin
Java:
public class Spiel implements Runnable {
Data data;
Gui gui;
public final int fps = 60;
public final long maxLoop = 1000 / fps;
private boolean isRunning = true;
public Spiel(Data data) {
this.data = data;
init();
Gui gui = new Gui(data);
this.gui = gui;
new Thread(this).start();
}
@Override
public void run() {
long oldTime;
long curTime;
while (isRunning) {
oldTime = System.currentTimeMillis();
update();
render();
curTime = System.currentTimeMillis();
if ((curTime - oldTime) > maxLoop) {
continue;
} else {
try {
Thread.sleep(maxLoop - (curTime - oldTime));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
public void update() {
}
public void render() {
System.out.println("Zeichne");
gui.repaint();
}
public void init(){
new GameLevel(data);
InitData initData = new InitData(data);
initData.initPics();
}
}
Was kann man da tun ?