LibGDX - Wie generiert man eine Welt (2D) einmalig?

Hallo Leute.

Ich hatte bereits mehrfach wegen LibGDX gefragt, allerdings nie eine richtige Antwort bekommen. Darum erkläre ich es hier kurz einfacher:

Ich bin gerade dabei, ein 2D Spiel in LibGDX, also Java (Eclipse) zu programmieren. Dafür habe ich bereits Blocktexturen erstellt und auf dem Bildschirm generieren lassen.

Das Problem ist aber, dass sich der "GameScreen" ja immer wieder updatet und somit bei einer zufallsgenerierten Welt alles durcheinander fliegt. Ich finde aber auch keine andere Lösung, um dieses Problem selbst zu beheben.

Wenn jemand sich wirklich damit auskennt und bitte auch wirklich NUR Leute, die sich damit auskennen: Wie lässt man etwas nur EINMALIG generieren, also möglichst außerhalb der batch.draw()-Schleife? Bedeutet, die Welt verändert sich nicht mehr, nachdem sie generiert wurde. (Falls Quellcode nötig ist, sollte bei meinen letzten 2 Fragen etwas dabei sein)

Und falls es noch jemand weiß: Wie könnte man eine Welt generieren, die über den Bildschirm hinaus geht bzw. wie generiert man die Welt weiter, wenn man aus dem Bildschirm läuft und die Kamera sozusagen "mitzieht"?

Ich würde mich freuen, wenn wenigstens eins der beiden Probleme gelöst wird, am Liebsten natürlich das Hauptproblem mit dem einmaligen generieren. Wenn jemand antwortet, würde ich auch darum bitten, bei Antworten meinerseits auch zu reagieren und nicht direkt das Thema zu vergessen und als "erledigt" anzusehen.

MfG xSh4kerx

Spiele, programmieren, Java, Eclipse, LibGdx
Java integer Variable soll sich +1 addieren

Hallo. Wie kann ich eine Integer Variable mit sich selbst mit 1 addieren?? Ich will, dass mein Knopf eine 0 anzeigt, welche beim Klicken zu einer 1 wird, beim zweiten klicken zu einer 2, beim dritten zu einer 3 usw usw usw.

Das hier ist meine Variablen-class und bei Zeile 3 kommt der Fehler, dass die Variable doppelt da ist. Genau so geht das aber in Python Batch usw. Es muss also auch in Java gehen.

public final class Variablen{
         public static int nummer(){
          int x = x+1;
         return x;
        } 
}

Hoffentlich kann mir wer helfen. PS: Die Variable wird aus einer anderen Class abgerufen mit folgendem Text:

package de.Leon.java;

import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Fenster extends JFrame

    implements ActionListener{
    
    private JButton  Knobb = new JButton("Drücken");
    private JButton DesIsAuchEnKnobb = new JButton("Zahlen");
    
    public Fenster(){
        
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    Knobb.addActionListener(this);
    DesIsAuchEnKnobb.addActionListener(this);
    
    getContentPane().add(Knobb);
    getContentPane().add(DesIsAuchEnKnobb, BorderLayout.SOUTH);
    
    pack();
    
    setLocationRelativeTo(null);
    
    setVisible(true);
    
    }

    public static void main(String[] args) {
        new Fenster();
    }
    

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource()==Knobb){
            Knobb.setText("Gedrückt");
        }
        if (e.getSource()==DesIsAuchEnKnobb) {
            DesIsAuchEnKnobb.setText("" + Variablen.nummer());
        }
    }
    
}

Ich bin noch am Java lernen und kann also nicht sonderlich viel^^

Ich benutze Eclipse

Anfänger, Fenster, programmieren, Java, Eclipse, Variablen, addieren, Integer

Meistgelesene Beiträge zum Thema Eclipse