Hallo,
bei allen Spielen hört man etwas von fps, oder Frames per Second - Ich habe eien ungefähre Ahnung davon was genau das bedeutet, aber was ist es genau?
z.B.:
Wenn ich ein Spiel schreibe, habe ich ja eine Schleife, die alle sagen wir 100 ms durchläuft. Dort wird ja mein Fenster dann auch neugezeichnet - Wären das dann 10 fps?
Und wie funktioniert dann z.B. ein Jumb&Run Spiel mit einem Spielcharakter und Gegner?
Wenn der Spieler dann die Pfeiltasten benutzt um die Person zu steuern wird dann eine Variabel von 0 auf die Geschwindigkeit gesetzt und das aktualisieren wird der Schleife überlassen:
oder sollte man eine eigene Funktionen bauen, die unabhängig von der Schleife die Person bewegt?
Das wärs erstmal von mir
Wäre über Anregungen sehr dankbar!
Grüße
Michael
bei allen Spielen hört man etwas von fps, oder Frames per Second - Ich habe eien ungefähre Ahnung davon was genau das bedeutet, aber was ist es genau?
z.B.:
Wenn ich ein Spiel schreibe, habe ich ja eine Schleife, die alle sagen wir 100 ms durchläuft. Dort wird ja mein Fenster dann auch neugezeichnet - Wären das dann 10 fps?
Und wie funktioniert dann z.B. ein Jumb&Run Spiel mit einem Spielcharakter und Gegner?
Wenn der Spieler dann die Pfeiltasten benutzt um die Person zu steuern wird dann eine Variabel von 0 auf die Geschwindigkeit gesetzt und das aktualisieren wird der Schleife überlassen:
Code:
public void beiTastendruck() {
spielerGeschwindigkeit = 5; // Setze die Geschwindigkeit auf 5
}
public void beiLoslassen() {
spielerGeschwindigkeit = 0; // Beim Loslassen
}
public void run() {
while (true) {
spielerPos += spielerGeschwindigkeit;
// Hier wird halt gezeichnet
repaint();
sleep (100);
}
}
oder sollte man eine eigene Funktionen bauen, die unabhängig von der Schleife die Person bewegt?
Code:
public void beiTastendruck() {
spielerPos += 5;
// Zeichnen lassen...
repaint();
}
Das wärs erstmal von mir
Wäre über Anregungen sehr dankbar!
Grüße
Michael