Eclipse – die besten Beiträge

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

Code Error Java?

public class Main {
public static void main(String[] args) {


    GUI gui = new GUI();
    
    }
    
   public static int fak (int n) {
        if (n == 0) {
            return 1;
        }
        return n * fak(n - 1);
    }
    
}

import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


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


public class GUI extends JFrame {
    JButton button = new JButton("Berechnen");
    JLabel label = new JLabel("Bitte geben Sie die Zahl ein: ");
    JTextField textfield = new JTextField(2);
    JOptionPane popup = new JOptionPane();
    JPanel panel = new JPanel();
    
    public GUI () {
        setSize(300, 300);
        setTitle("Fakultätsrechner");
        setLayout(new FlowLayout());
        setVisible(true);
        
        panel.add(textfield);
        panel.add(label);
        panel.add(button);
        add(panel);
        
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);


        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    String input = textfield.getText();
                    int number = Integer.parseInt(input);
                    int result = Main.fak(number);
                    JOptionPane.showMessageDialog(null, "Die Fakultät von " + number + " ist " + result);
                } catch (NumberFormatException ex) {
                    JOptionPane.showMessageDialog(null, "Bitte geben Sie eine gültige Ganzzahl ein.");
                }
            }
        });
        
    }





}

Error: java.lang.ClassNotFoundException: Main

Aber wieso findet er denn die Main-Klasse nicht? Verstehe ich nicht.

App, Java, Minecraft, Array, Code, Eclipse, Minecraft Server, Programmiersprache, Swing, game-development, Bukkit, Spigot, Java Swing, Android Studio

Meistgelesene Beiträge zum Thema Eclipse