Ich habe eine Frage zu einem Tutorial was ich hier gefunden habe.
unzwar bin ich dabei noch recht am anfang und weiß nicht warum der mir die fps zahl nicht auf dem feld ausgibt. Hab das tutorial schon 3 mal, bis zu der stelle durchgearbeitet ... kommt immer das selbe bei ruas.
das tutorial heisst "Einstieg in die Spieleprogrammierung mit Java".
und hier mein code
entschuldigt meine nicht vorhandene kommentierung
mfG Flo
unzwar bin ich dabei noch recht am anfang und weiß nicht warum der mir die fps zahl nicht auf dem feld ausgibt. Hab das tutorial schon 3 mal, bis zu der stelle durchgearbeitet ... kommt immer das selbe bei ruas.
das tutorial heisst "Einstieg in die Spieleprogrammierung mit Java".
und hier mein code
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.*;
public class GamePanel extends JPanel implements Runnable{
private static final long serialVersionUID = 1L;
boolean game_running = true;
long delta = 0;
long last = 0;
long fps = 0;
public static void main(String[] args) {
new GamePanel(800,600);
}
public GamePanel(int w, int h){
this.setPreferredSize(new Dimension(w,h));
JFrame frame = new JFrame("Ein Spiel");
frame.setLocation(100,100);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(this);
frame.pack();
frame.setVisible(true);
doInitialisation();
}
private void doInitialisation(){
last = System.nanoTime();
Thread t = new Thread(this);
t.start();
}
public void run(){
while(game_running){
computeDelta();
checkKeys();
doLogic();
moveObjects();
repaint();
try{
Thread.sleep(10);
}
catch(InterruptedException e){}
}
}
private void computeDelta(){
delta = System.nanoTime() - last;
last = System.nanoTime();
fps = ((long) 1e9) / delta;
}
private void checkKeys(){}
private void doLogic(){}
private void moveObjects(){}
@Override
public void paintComponents(Graphics g){
super.paintComponents(g);
g.setColor(Color.RED);
g.drawString("FPS: "+ Long.toString(fps) , 20, 10);
System.out.println("tut");
}
}
entschuldigt meine nicht vorhandene kommentierung
mfG Flo