2016-10-04 1 views
0

Hallo ich bin auf der Suche nach einer Möglichkeit, eine Libgdx Sprite-Batch oder etwas ähnliches anzuzeigen, ohne Verwendung eines Application Listener, Adapter oder der Game-Klasse.Es sollte möglich sein, einen Konstruktor eines Spielobjekts aufzurufen und dann sollte die Textur in einem Stapel oder einem Fenster angezeigt werden.Libgdx Batch ohne ApplicationListener

Der Grund ist, dass ich ein Desktop-Anwendungsprojekt in der Klasse mit Schülern verwenden möchte, um mit dem Programmieren von Lektionen zu beginnen, und deshalb verwenden wir BlueJ. Aber Funktionen wie der Objektinspektor funktionieren nicht, wenn es einen aktiven Anwendungs-Thread gibt und Dinge wie Gdx.files in einer Nullpointer-Ausnahme enden. In späteren Lektionen wird es eine Bewerbung geben, aber am Anfang geht das zu weit.

Alle meine Versuche mit der Spielklasse oder selbst geschriebenen ApplicationListeners waren nicht erfolgreich. Ich hoffe jemand da draußen hat eine Idee.

+0

Nicht sicher, was die Einschränkung ist, dass Sie die Game-Klasse nicht verwenden können. Und lehrst du gerade LibGDX oder was? – Tenfour04

+0

Nein ich unterrichte Java und ich analysiere verschiedene "Grafik" Frameworks wie Swing Javafx und Libgdx und vergleichen ihre Vorteile zu wissen, welche von ihnen ist die einfachste und beste für Menschen, die gerne Projekte für Unterricht in der Klasse ohne erstellen möchten die Schüler kümmern sich sehr um die GUI. – rebmob

Antwort

1

Ein SpriteBacth zeichnet auf einen Bildschirm. Application Listener/Adapter und Game wird benötigt, um die Bildschirme zu verwalten. Das SpriteBach geht davon aus, dass Sie einen Bildschirm, einen LibGDX-Bildschirm und nicht irgendeinen Bildschirm haben und magisch nicht wissen, worauf Sie es beziehen wollen. Sie können nicht einfach ein Objekt aus einer Bibliothek instanziieren und erwarten, dass es in einer anderen Bibliothek funktioniert.

Ich verstehe nicht den Sinn es auch wenn es funktionieren würde. Benutze entweder LibGDX oder nicht.

Sie wären viel besser dran mit etwas wie JavaFX. Es ist in Java eingebaut und es ist einfach, Bilder und Sprites in ein Fenster zu zeichnen. Sie können JavaFX verwenden, um Spiele UND Desktop-Anwendungen zu erstellen.

+0

Nun, ich vergleiche JavaFX, Swing und Libgdx zu ihrer Verwendung, um einfache Spieleprojekte für Schüler zu erstellen, so dass sie sich nicht viel um die GUI kümmern müssen. Ich habe mehrere Kriterien, mit denen sie umgehen müssen, und eine davon ist die Verwendung in BlueJ. So werden die Objekte, die die Lernenden erzeugen, wie eine Textur transportiert und bei einem statischen Aufruf werden diese Texturen auf einem Bildschirm angezeigt, ohne dass sie programmieren. In Swing zum Beispiel funktioniert es einfach mit einem Frame, der als Singleton implementiert ist, und Objekte, die ein gepuffertes Image tragen, fügen sich selbst in eine Liste auf dem Frame ein und rufen paint() auf. Ich suche nach in gdx – rebmob

+0

Ich würde Swing vermeiden. Aber in JavaFX und libgdx ist es sehr einfach eine Textur zu laden und anzuzeigen. Mischen Sie die beiden Bibliotheken nicht zusammen. – IronMonkey

+0

Die in diesem Vergleich realisierten Projekte sind sehr einfach und müssen nicht performant oder gut entwickelt sein. Es geht darum, die ersten Schritte in der Programmierung zu machen und große Ergebnisse mit sehr wenig Code zu erreichen. Es geht darum, Studenten zu motivieren, die keine Programmierinteressen haben und jedes Ergebnis, das Sie bekommen, auf der Konsole ist. Also suche ich nach einer einfachen Möglichkeit, ein Fenster in libgdx zu erstellen. Und ich mische nicht die drei Dinge, die ich drei Implementierungen seperatly implementieren – rebmob