Mein Spiel wird auch nach dem Aufruf der dispose () -Methode nicht vollständig beendet. Es lädt einen schwarzen Bildschirm, wenn ich es zum zweiten Mal starte, und funktioniert gut, wenn ich das Spiel manuell beende und neu starte.
Ich erhalte eine Fehlermeldung, buffer not allocated with newUnsafeByteBuffer or already disposed
wenn ich versuche, das SpriteBatch-Objekt zu entsorgen. Dies ist, wo ich das Problem vermute. Aber nicht in der Lage, es vollständig zu beheben. Bitte helfen Sie!
Hier ist, wie ich es erstellt habe (ich habe den Beispielcode hier eingefügt, um euch zu zeigen, dass es keine sichtbaren Loopbacks in der Entsorgungsfunktion gibt, bitte korrigiert mich, wenn ich falsch liege) - Im Spielbildschirm,
public void dispose() {
AssetLoader.dispose();
render.dispose();
Gdx.app.exit(); }
Unter der Klasse AssetLoader-
public void dispose(){
Texture.dispose();
sound.dispose();
}
Unter Spiel rendern Klasse -
public void dispose(){
spritebatch.dispose(); //throws an error when I GameScreen.dispose is called
font.dispose();
shaperender.dispose();
}
Ich glaube, dass mein Spritebatch nicht entsorgt, was den schwarzen Bildschirm verursacht, aber ich kann keinen Weg finden, ihn erfolgreich zu entsorgen. Jede Hilfe wäre sehr dankbar.