Hallo,
ich arbeite derzeit an einem 2D Level Editor und stehe nun leider vor einer leeren Klasse, welche mein WorkPanel darstellt. Das einladen von Sprites(Tile,Npc,WorldObject,Enemy) ist bereits möglich. Aus den geladen PNGs werden auch Objekte des jeweiligen Typs erstellt. Über JButton wähle ich ein Objekt aus diese wird als selected abgespeichert und dem JFrame(parent) übergeben, damit alle JPanel(OptionPanel, WorkPanel etc.) darauf zugreifen können.
Nun stellt sich für mich die Frage wie ich das WorkPanel aufbaue um das Level zu kreieren. Was ich auf keinen Fall möglich ist am Ende eine einfache Tile-Map als Image abzuspeichern. Da kann ich gleich Photoshop oder sonstiges nehmen und mir ein Bild malen. Die Logik der einzelnen Objekte sollen dem Editor bekannt sein und über das OptionPanel verändert werden. Dies würd ich realisieren indem ich mit Hilfe des OptionPanel die Attribute des selected Sprites verändere.
Aber bleiben ich lieber beim WorkPanel und schweife nicht allzu weit ab.
Meine Ideen für das WorkPanel:
Ich hatte mir gedacht, das WorkPanel hätte als Attribute einige 2 dimensionale ArrayLists. Die ich gerastert auf dem WorkPanel irgendwie darstelle ( Lücke Nr.1 ). Durch klicken(bevorzugt natürlich mouseDragged) der dargestellen Zellen soll der Index ermittelt werden und der Datenstruktur das selected Objekt in diesem "Fach" übergeben werden.
Den Layereffekt würde ich, so hatte ich es mir gedacht, erzeugen indem ich einfach die Datenstrukturen im späteren Verlauf im Spiel in der Reihenfolge Tile(Bodenbeläge),Npc,Enemy, WorldObject(Bäume, Häuser etc.) zeichen lasse.
Die Klasse Sprite "has a" AffineTransform Objekt, welches die rotation und translation später übernehmen soll. Die Ansicht des Spiel soll gerade von oben sein, keine Vogelperspektive, diese würde sich nicht mit meiner Player Klasse vertragen, welche ebenfalls die Bewegung über AffineTransform bearbeitet. (So spare ich mir einige Sprites, da sich der Player immer nach der Maus ausrichtet, wie z.b. bei Counter-Strike 2D).
Ich belasse es fürs erste einmal dabei, und hoffe das einige Leute die sich damit auskennen, mir interessante Denkanstöße geben können.
Zum Schluß noch schnell etwas zu meiner Person, da ich ja neu im Forum bin. Ich heiße Kevin, bin 24 Jahre alt, studiere Wirtschaftinformatik(nach den Semesterferien gehts ab ins 3. ) und versuche in diesem Projekt einige Inhalte des SCJP einzubinden(da ich diesen Kurs letztes Sem. belegt hatte).
z.B. Serialisierung
Ich dachte mir das so, dass ich die Datenstrukturen auf dem WorkPanel befülle und später nur die Datenstrukturen abspeichere und meine spätere Level-Klasse diese lädt.
Insofern Bedarf an Quelltext besteht poste ich den natürlich gerne nach.
Danke für die Aufmerksamkeit und verbleibe erwartungsvoll.
Bin für alle Ideen aufgeschlossen.
ich arbeite derzeit an einem 2D Level Editor und stehe nun leider vor einer leeren Klasse, welche mein WorkPanel darstellt. Das einladen von Sprites(Tile,Npc,WorldObject,Enemy) ist bereits möglich. Aus den geladen PNGs werden auch Objekte des jeweiligen Typs erstellt. Über JButton wähle ich ein Objekt aus diese wird als selected abgespeichert und dem JFrame(parent) übergeben, damit alle JPanel(OptionPanel, WorkPanel etc.) darauf zugreifen können.
Nun stellt sich für mich die Frage wie ich das WorkPanel aufbaue um das Level zu kreieren. Was ich auf keinen Fall möglich ist am Ende eine einfache Tile-Map als Image abzuspeichern. Da kann ich gleich Photoshop oder sonstiges nehmen und mir ein Bild malen. Die Logik der einzelnen Objekte sollen dem Editor bekannt sein und über das OptionPanel verändert werden. Dies würd ich realisieren indem ich mit Hilfe des OptionPanel die Attribute des selected Sprites verändere.
Aber bleiben ich lieber beim WorkPanel und schweife nicht allzu weit ab.
Meine Ideen für das WorkPanel:
Ich hatte mir gedacht, das WorkPanel hätte als Attribute einige 2 dimensionale ArrayLists. Die ich gerastert auf dem WorkPanel irgendwie darstelle ( Lücke Nr.1 ). Durch klicken(bevorzugt natürlich mouseDragged) der dargestellen Zellen soll der Index ermittelt werden und der Datenstruktur das selected Objekt in diesem "Fach" übergeben werden.
Den Layereffekt würde ich, so hatte ich es mir gedacht, erzeugen indem ich einfach die Datenstrukturen im späteren Verlauf im Spiel in der Reihenfolge Tile(Bodenbeläge),Npc,Enemy, WorldObject(Bäume, Häuser etc.) zeichen lasse.
Die Klasse Sprite "has a" AffineTransform Objekt, welches die rotation und translation später übernehmen soll. Die Ansicht des Spiel soll gerade von oben sein, keine Vogelperspektive, diese würde sich nicht mit meiner Player Klasse vertragen, welche ebenfalls die Bewegung über AffineTransform bearbeitet. (So spare ich mir einige Sprites, da sich der Player immer nach der Maus ausrichtet, wie z.b. bei Counter-Strike 2D).
Ich belasse es fürs erste einmal dabei, und hoffe das einige Leute die sich damit auskennen, mir interessante Denkanstöße geben können.
Zum Schluß noch schnell etwas zu meiner Person, da ich ja neu im Forum bin. Ich heiße Kevin, bin 24 Jahre alt, studiere Wirtschaftinformatik(nach den Semesterferien gehts ab ins 3. ) und versuche in diesem Projekt einige Inhalte des SCJP einzubinden(da ich diesen Kurs letztes Sem. belegt hatte).
z.B. Serialisierung
Ich dachte mir das so, dass ich die Datenstrukturen auf dem WorkPanel befülle und später nur die Datenstrukturen abspeichere und meine spätere Level-Klasse diese lädt.
Insofern Bedarf an Quelltext besteht poste ich den natürlich gerne nach.
Danke für die Aufmerksamkeit und verbleibe erwartungsvoll.
Bin für alle Ideen aufgeschlossen.
Zuletzt bearbeitet: