Frage von LudwigSchindler, 28

Java, Spiel Hintergrund "loopen"?

Hallo, ich lerne gerade in Java ein Spiel zu programmieren. Ich habe bereits das Fenster und den Hintergrund. Dieser bewegt sich auch schon, wenn ich die Pfeiltasten drücke. Nun möchte ich, dass sich der Hintergrund dauerhaft wiederholt und nicht an einer bestimmten Stelle aufhört. Ich habe schon 3 Stunden herumprobiert, ein YouTube Tutorial dazu angeschaut, verschiedene Forenbeiträge gelesen, bin aber zu keinem Ergebnis gekommen. Wäre nett wenn jemand von euch mir helfen könnte. Hier ist mein bisheriger Code aus der Klasse mit dem Spiel: http://hastebin.com/eruxaqomur.java

LG Ludwig

PS: Mir geht es erstmal nicht darum, dass das Spiel möglichst effizient oder toll ist, sondern nur das es funktioniert und ich es verstanden habe warum :D

Antwort
von regex9, 13

Springe auf der X-Achse wieder nach links, wenn du dich dem rechten Rand näherst. Günstig ist es hierbei, wenn du nur einen Teil des Hintergrundbildes zeigst, also ein inneres Viereck mit Toleranzrahmen. Ist die Toleranzgrenze überschritten, erfolgt der Sprung.

------------
| ------   |
| | A  | B |
| ------   |
------------

A = gezeigter Bereich (Kamera) B = Hintergrundbild

Alternativ zum Toleranzrahmen könntest du dein Bild bearbeiten und bereits horizontal einmal wiederholen lassen.

Sollte sich deine Kamera in mehrere Richtungen bewegen lassen können, könntest du dein Bild in einem Zeichenprogramm horizontal und vertikal einmal nebeneinandersetzen. 

Kommentar von regex9 ,

Als Ergänzung noch Anmerkungen zu deinem Code: 

  1. Gewöhne es dir an, aussagekräftige Namen für Variablen zu nutzen. 
  2. Verwende access modifiers in jedem Fall.
  3. Ob du unbedingt einen Thread benötigst, um die Szene neu zeichnen zu lassen, möchte ich bezweifeln.
  4. Bilder würde ich an deiner Stelle über das Ressourcensystem von Java laden lassen, um feste Pfade zu vermeiden.
  5. Für den Anfang mag es reichen, doch mit zunehmender Komplexität deines Spiels solltest du dich nach geeigneteren Frameworks umschauen. Java Swing ist keine Grafikbibliothek für Spieleprogrammierung.
Kommentar von LudwigSchindler ,

Okay danke. Wie gesagt, ich habe auch nicht vor damit was großes zu machen, sondern wollte nur einmal rumprobieren ob/wie es funktioniert :D

Keine passende Antwort gefunden?

Fragen Sie die Community