In Tutorials manchmal Leute verwenden "erweitert Spiel", manchmal "implementiert Bildschirm" und ich habe automatisch generiert "erweitert ApplicationAdapter". Was ist der Unterschied zwischen ihnen?Was ist der Unterschied zwischen "Game", "Screen" und "ApplicationAdapter" in libgdx?
Antwort
ApplicationAdapter
können Sie einen Listener erstellen, aber nicht gezwungen werden, jede Methode zu implementieren. Wenn Sie mit Swing vertraut sind, schauen Sie sich KeyAdapter
an, es ist die gleiche Idee.
Ein ApplicationListener
ermöglicht Ihnen, Anwendungsereignisse zu behandeln. Dadurch können Sie Code während bestimmter Ereignisse innerhalb des Anwendungslebenszyklus ausführen (z. B. zerstören).
Ein ApplicationListener wird aufgerufen, wenn die Anwendung erstellt, wiederaufgenommen, gerendert, angehalten oder zerstört wird. Alle Methoden werden in einem Thread aufgerufen, für den der OpenGL-Kontext aktuell ist. Sie können somit Grafikressourcen sicher erstellen und bearbeiten.
Ein Game
ist ein ApplicationListener
, der mehrere Bildschirme unterstützt. Sie können mehrere Bildschirme erstellen und mithilfe von setScreen
zwischen em wechseln.
Ein ApplicationListener, der an einen Bildschirm delegiert. Dies ermöglicht einer Anwendung, mehrere Bildschirme zu haben.
Ein Screen
ist genau, wie es sich anhört; Es wird angezeigt, was zu diesem Zeitpunkt angezeigt wird. Vielleicht ist es ein Hauptmenü, vielleicht ist es das eigentliche Spiel.
Stellt einen von vielen Anwendungsbildschirmen dar, z. B. ein Hauptmenü, ein Einstellungsmenü, den Spielbildschirm und so weiter.
Es Sie die Game
Klasse für die Basis des Spiels verwenden empfohlen wird, dann mehrere Screen
Instanzen der verschiedenen möglichen Spiel erstellen heißt Sie haben.