Trò chơi của tôi không thoát hoàn toàn ngay cả sau khi gọi phương thức dispose (). Nó tải một màn hình đen khi tôi khởi chạy lần thứ hai và hoạt động tốt nếu tôi giết trò chơi bằng tay và khởi động lại nó.
Tôi gặp một lỗi thông báo buffer not allocated with newUnsafeByteBuffer or already disposed
khi tôi cố gắng loại bỏ đối tượng SpriteBatch. Đây là tôi nghi ngờ vấn đề là. Nhưng không thể sửa nó hoàn toàn. Xin vui lòng giúp đỡ!
Đây là cách tôi đã xây dựng nó (Tôi đã đặt mã mẫu ở đây chỉ để cho các bạn thấy rằng không có mặt sau vòng lặp có thể nhìn thấy trong chức năng xử lý, vui lòng sửa cho tôi nếu tôi sai) - Trong màn hình trò chơi,
public void dispose() {
AssetLoader.dispose();
render.dispose();
Gdx.app.exit(); }
Dưới lớp AssetLoader-
public void dispose(){
Texture.dispose();
sound.dispose();
}
Dưới lớp kết xuất trò chơi -
public void dispose(){
spritebatch.dispose(); //throws an error when I GameScreen.dispose is called
font.dispose();
shaperender.dispose();
}
Tôi tin rằng spritebatch của tôi không xử lý gây ra màn hình đen nhưng tôi không thể tìm cách loại bỏ nó thành công. Mọi sự trợ giúp sẽ rất được trân trọng.