Java 2D Spiel mit LWJGL verbinden

GentleXD

Aktives Mitglied
Hallo Java Forum Community,

ich programmiere jetzt seit einigen Tagen an einem erst einmal kleinen 2D Jump and Run rum.
Ich habe die Engine soweit fertig, diese basiert auf den Java Graphics Klassen zum zeichnen von Formen laden von Texturen usw.
Da ich davor mich etwas mit LWJGL und der 3D Programmierung (für eine Facharbeit), beschäftigt habe habe ich dort einige Erfahrungen gemacht, und für ein Partikel System reicht es.
Jetzt würde ich gerne LWJGL mit meinem jetzigen 2D Spiel in verbinden bringen um zum Beispiel die Licht Berechnungen zu machen oder meinem Partikel System mit den LWJGL Shadern einen besseren Look zu verschaffen, nun mein Problem ist ich weiß nicht recht wie ich das anstellen soll, ich kann beide Sachen programmieren aber zum Beispiel bei meiner GamePanel Klasse wo das gesamte Spiel gezeichnet wird ist es ja in LWJGL etwas anders als bei einem reinen Java 2D Spiel und jetzt meine Frage: Muss ich den ganzen Code nochmal neu in LWJGL schreiben oder kann ich das auch anders machen?
Beispiel Klasse (Java 2D Spiel):

Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.VolatileImage;

import javax.swing.JPanel;
import javax.swing.Timer;


public class GamePanel extends JPanel implements ComponentListener, ActionListener, KeyListener, MouseListener {

    private static final long serialVersionUID = 1L;
 
    public static int width;
    public static int height;
    public static final int SCALE = 3;
    public static Mouse mouse;
 
    private Timer timer;
    private GameStateManager gsm;
    private VolatileImage image;

    public GamePanel() {
        super();
        setPreferredSize(new Dimension(600, 400));
        addComponentListener(this);
        addMouseListener(this);
        addKeyListener(this);
        setFocusable(true);
        requestFocus();

        mouse = new Mouse(this);
        width = getPreferredSize().width;
        height = getPreferredSize().height;
        gsm = new GameStateManager(GameStateManager.PLAYSTATE);
     
    }
 
    @Override
    public void addNotify() {
        super.addNotify();
        image = createVolatileImage(width / SCALE, height / SCALE);
        timer = new Timer(1000 / 60, this);
        timer.start();
    }
 
 
    private void update() {
        gsm.update();
    }
 
    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = image.createGraphics();
        g2.setBackground(new Color(146, 189, 221));
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,        RenderingHints.VALUE_ANTIALIAS_ON);
        g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,    RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        gsm.render(g2);
        g.drawImage(image, 0, 0, width, height, null);
    }
 
    @Override
    public void actionPerformed(ActionEvent arg0) {
        update();
        repaint();
    }

    @Override
    public void mousePressed(MouseEvent e) {
        gsm.mousePressed(e);
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        gsm.mouseReleased(e);
    }

    @Override
    public void keyPressed(KeyEvent e) {
        gsm.keyPressed(e, e.getKeyCode());
    }

    @Override
    public void componentResized(ComponentEvent e) {
        if(e.getSource().equals(this)) {
            width = getWidth();
            height = getHeight();
            image = createVolatileImage(width / SCALE, height / SCALE);
        }
    }
}
 

Major_Sauce

Bekanntes Mitglied
Moin,

im Grunde wirst du "alles" neu schreiben würfen.
Mit "alles" meine ich aber nicht unbedingt ALLES, sondern nur den Code der für das Rendern gedacht ist.
Ich habe nicht all zu viel Ahnung von LWJGL, also verbessert mich bitte falls ich was falsches sage, aber soweit ich weiß hat man dort schon eine komplette Engine, also wird zum Beispiel auch schon Input handling und ähnliches behandelt. Falls du das doch gerne selbst machen würdes, kannst du einfach auf GL-Bindings wie zum Bleistift JOGL zurückgreifen. Dann wirst du zwar immer noch so einiges umschreiben müssen, aber ich denke du kannst trotzdem noch "mehr" vom Code beibehalten, da du JOGL auch auf deinem JPanel aufsetzen lassen kannst.
Ich baue gerade außerdem eine kleine Engine, welche das Rendern mit OpenGL ermöglichen soll (performance-boost usw), aber immernoch "einfach" zu bedienen ist, es wird trotzem die ganze JOGL-Funktionalität unterstützt. Falls du Interesse hast dir die mal anzuschauen kannst du mir gerne ne PM schicken...

Mfg Major
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Spiel mit Java SWING, LWJGL und JMonkey [Anfänger braucht Hilfe] Spiele- und Multimedia-Programmierung 10
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
Kenan89 Java 2D Spiel Spiele- und Multimedia-Programmierung 39
T mit Sketchup und Java [Spiel erstellen] Spiele- und Multimedia-Programmierung 4
M Internet Java Spiel (.jar Datei) auf dem PC ausführen Spiele- und Multimedia-Programmierung 7
N Java-Spiel mit Eclipse ausführen Spiele- und Multimedia-Programmierung 5
J Java Backtracking Spiel-Reise Spiele- und Multimedia-Programmierung 3
Spin Java Spiel Idee - Lust? Spiele- und Multimedia-Programmierung 16
radiac Java Spiel auf diversen System unspielabr Spiele- und Multimedia-Programmierung 13
S Grafik erstellen für Java Spiel Spiele- und Multimedia-Programmierung 8
J Action-Spiel in Java? Spiele- und Multimedia-Programmierung 7
G GO-Spiel in Java noch fehlerhaft hoffe um hilfe Spiele- und Multimedia-Programmierung 7
C Tower Defense Spiel in Java Spiele- und Multimedia-Programmierung 4
L Cannon-Tower Spiel in Java Spiele- und Multimedia-Programmierung 21
J Suche einfaches OpenSource Java-Spiel Spiele- und Multimedia-Programmierung 2
G start Bild einfrügen in ein Java Spiel Spiele- und Multimedia-Programmierung 7
Quaxli Spiel ruckelt auf neuem Rechner bzw. mit Java 6 Spiele- und Multimedia-Programmierung 13
H Das JAVA-FORUM.ORG/DE-Spiel Projekt Spiele- und Multimedia-Programmierung 228
R 3D Spiel in Java Spiele- und Multimedia-Programmierung 2
A Minecraft Java Buch fehlermeldung Spiele- und Multimedia-Programmierung 61
yakazuqi Minecraft java.lang.Error: Watchdog Spiele- und Multimedia-Programmierung 3
L Fehler bei "Nochmal Spielen" (Java) Spiele- und Multimedia-Programmierung 1
N Minecraft Java Error Spiele- und Multimedia-Programmierung 6
M "Java Datei" Cannot be resolved to a variable Spiele- und Multimedia-Programmierung 2
1Spinne Minecraft Fabric Modding Java Error Spiele- und Multimedia-Programmierung 2
Joris Minecraft Minecraft Java Server Spiele- und Multimedia-Programmierung 6
Shanic Minecraft Minecraft Forge Server "Falsche Java Version" Spiele- und Multimedia-Programmierung 6
O Browser-basiertes online Pokerspiel mit Java Spiele- und Multimedia-Programmierung 1
G VST-Plugins in Java verwenden Spiele- und Multimedia-Programmierung 0
P Audio Visualizer mit OpenGL in Java? Spiele- und Multimedia-Programmierung 4
P Snake Java Hilfe Spiele- und Multimedia-Programmierung 4
D Minecraft [Minecraft] Java Start Fehler (Core-Dump) Spiele- und Multimedia-Programmierung 1
T Welche packages aus der java api doku ist hilfreich zur Android Spieleprogrammierung Spiele- und Multimedia-Programmierung 2
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
C Java findet FluidSynth nicht Spiele- und Multimedia-Programmierung 2
I Java Andere Fenster in Borderless-Mode setzen Spiele- und Multimedia-Programmierung 16
leon_krys Java-Bußgeldrechner Spiele- und Multimedia-Programmierung 5
G [Java/KryoNet/LibGDX] Mutliplayer Packet Frage Spiele- und Multimedia-Programmierung 2
P Website mit Java Backend? Spiele- und Multimedia-Programmierung 1
D Java Bild bewegen funktioniert nicht Spiele- und Multimedia-Programmierung 8
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
E Kalah Java Implementation Spiele- und Multimedia-Programmierung 1
G [Java] Vereinfachung von Boolean Abfragen Spiele- und Multimedia-Programmierung 3
G [LibGDX/Java] ArrayList Object Speicher Spiele- und Multimedia-Programmierung 3
T Java 3D Spiele- und Multimedia-Programmierung 2
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
J Java Buttons Spiele- und Multimedia-Programmierung 6
T Java Kalender Spiele- und Multimedia-Programmierung 5
Ice4P4rty Java Optische Oberfläche Spiele- und Multimedia-Programmierung 2
MABY Eine mp3 Datei in Java abspielen Spiele- und Multimedia-Programmierung 14
D Java Bomberman Probleme java.lang.NullPointerException Spiele- und Multimedia-Programmierung 1
N Spiele-Menü in Java Spiele- und Multimedia-Programmierung 9
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
H Yu-Gi-Oh! Mit Java was tun? Spiele- und Multimedia-Programmierung 6
G Component System Java 2D Game LibGDX Spiele- und Multimedia-Programmierung 6
S Pong java.lang.StackOverflowError Spiele- und Multimedia-Programmierung 3
C Java aus Klasse rausgehen Spiele- und Multimedia-Programmierung 2
MaxG. Java Internet Radio Spiele- und Multimedia-Programmierung 6
G [Java Server] Allgemeine Frage zum Thema Networking in Videospielen Spiele- und Multimedia-Programmierung 15
P java.lang.NoClassDefFoundError: in Greenfoot Spiele- und Multimedia-Programmierung 0
G Java Achsen invertieren Spiele- und Multimedia-Programmierung 2
$ Einstieg in Java Game Development Spiele- und Multimedia-Programmierung 11
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
BraunBerry Java Game Waypoint System Spiele- und Multimedia-Programmierung 3
S Hilfe bei Java Gui Spiele- und Multimedia-Programmierung 2
D Java sound pulseaudio Spiele- und Multimedia-Programmierung 0
David Schwarzbeck Java 3 dimensionale Kollisions Abfrage Spiele- und Multimedia-Programmierung 2
M Gesellschaftsspiel Mühle in Java programmieren Spiele- und Multimedia-Programmierung 3
beatles Java Minesweeper - OS X und Win7 Unterschied Spiele- und Multimedia-Programmierung 2
D Minecraft Java JDK installiert - Minecraft läuft nichtmehr in 64 Bit Spiele- und Multimedia-Programmierung 2
E TMX - Dateien in Java laden Spiele- und Multimedia-Programmierung 1
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
windl MoviePlayer in Java Spiele- und Multimedia-Programmierung 0
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
F Klausurersatz: Ein Java-Programm erstellen und dieses präsentieren. Spiele- und Multimedia-Programmierung 2
E Java Jump and Run Map zu groß Spiele- und Multimedia-Programmierung 14
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
J programm mit java-plugin Spiele- und Multimedia-Programmierung 2
D Java Webgame, welche Frameworks oder Techs sind von Nöten? Spiele- und Multimedia-Programmierung 5
P Java 2D Bug? Spiele- und Multimedia-Programmierung 8
T Problem mit Eclipse (java)-(minecraft) Spiele- und Multimedia-Programmierung 3
R Java App sendet Midi Daten über Flash Spiele- und Multimedia-Programmierung 3
O Java Zeile aus Textdatei zufällig ausgeben Spiele- und Multimedia-Programmierung 8
K Bestes Bildformat für Spielegrafiken und deren Einbindung in Java Spiele- und Multimedia-Programmierung 2
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
J Java Kollisionsabfrage Spiele- und Multimedia-Programmierung 21
Flo. android java tastatureingaben abfangen. Spiele- und Multimedia-Programmierung 1
J Java Steuerberechnung hilfe Spiele- und Multimedia-Programmierung 17
C Export als .jar funktioniert nicht richtig (JAVA 3D) Spiele- und Multimedia-Programmierung 5
P Java Grafiken mit Rechnungen verknüpfen Spiele- und Multimedia-Programmierung 4
U Minecraft Mit Java auf Minecraft Server anmelden Spiele- und Multimedia-Programmierung 11
F Das sag mir einer Java ist plattform unabhänig ! Spiele- und Multimedia-Programmierung 10
C virtueller stereomix (java sound API) Spiele- und Multimedia-Programmierung 0
S Engine2D - Java 2D Engine Spiele- und Multimedia-Programmierung 20
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
C Java Kollisionserkennung Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben