Я использую LibGDX для создания игры. Я применил AssetManager
для загрузки всех активов, а также создал класс GameSkin
, который добавляет много стилей кнопок и тому подобное, чтобы я не мог сделать это вручную. Вот оно:Я получаю черный экран в своей игре после того, как я нажимаю кнопку «Назад» и возобновляю
public class GameSkin extends Skin {
private static final AssetManager ASSET_MANAGER = Assets.getAssetManager();
private TextureAtlas atlas;
private FreeTypeFontGenerator generator;
private FreeTypeFontGenerator.FreeTypeFontParameter parameter;
private BitmapFont defaultFont;
private TextButton.TextButtonStyle redButtonStyle, orangeButtonStyle, greenButtonStyle, blueButtonStyle, defaultButtonStyle;
private Label.LabelStyle labelStyle;
private Window.WindowStyle windowStyle, firstTimeWindowStyle;
public GameSkin() {
Assets.load();
ASSET_MANAGER.finishLoading();
atlas = ASSET_MANAGER.get("uiskin.atlas");
addRegions(atlas);
generator = new FreeTypeFontGenerator(Gdx.files.internal("font/komika.ttf"));
parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 100;
defaultFont = generator.generateFont(parameter);
generator.dispose();
defaultButtonStyle = new TextButton.TextButtonStyle();
redButtonStyle = new TextButton.TextButtonStyle();
orangeButtonStyle = new TextButton.TextButtonStyle();
greenButtonStyle = new TextButton.TextButtonStyle();
blueButtonStyle = new TextButton.TextButtonStyle();
redButtonStyle.font = defaultFont;
redButtonStyle.up = getDrawable("rbup");
redButtonStyle.down = getDrawable("rbdown");
orangeButtonStyle.font = defaultFont;
orangeButtonStyle.up = getDrawable("obup");
orangeButtonStyle.down = getDrawable("obdown");
greenButtonStyle.font = defaultFont;
greenButtonStyle.up = getDrawable("gbup");
greenButtonStyle.down = getDrawable("gbdown");
blueButtonStyle.font = defaultFont;
blueButtonStyle.up = getDrawable("bbup");
blueButtonStyle.down = getDrawable("bbdown");
defaultButtonStyle.font = defaultFont;
defaultButtonStyle.up = getDrawable("obup");
defaultButtonStyle.down = getDrawable("obdown");
labelStyle = new Label.LabelStyle(defaultFont, Color.WHITE);
windowStyle = new Window.WindowStyle(defaultFont, Color.WHITE, getDrawable("GT"));
firstTimeWindowStyle = new Window.WindowStyle(defaultFont, Color.WHITE, getDrawable("guide"));
add("default-font", defaultFont);
add("red-button", redButtonStyle);
add("orange-button", orangeButtonStyle);
add("green-button", greenButtonStyle);
add("blue-button", blueButtonStyle);
add("default", defaultButtonStyle);
add("default", labelStyle);
add("default", windowStyle);
add("first-time", firstTimeWindowStyle);
}
@Override
public void dispose() {
super.dispose();
}
}
Это как экран приветствия выглядит следующим образом:
И это то, что происходит после того, как я нажимаю кнопку назад, чтобы выйти, а затем нажмите на приложение резюме:
Похоже, что все устраивается (?), кроме BitmapFont, что я использую на кнопках, но я не понимаю, что не так с этим. Кто-нибудь может помочь?
Не используйте статическую ссылку на ваши активы или текстуру. https://github.com/libgdx/libgdx/wiki/Managing-your-assets#creating-an-assetmanager – Tenfour04
Я использовал это, и он сработал. Благодаря! –