Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx assetmanager,加载时退出游戏。otf字体_Java_Android_Fonts_Libgdx - Fatal编程技术网

Java Libgdx assetmanager,加载时退出游戏。otf字体

Java Libgdx assetmanager,加载时退出游戏。otf字体,java,android,fonts,libgdx,Java,Android,Fonts,Libgdx,我使用libgdx资产管理器来加载资产。仅加载图像和声音/音乐时听起来不错。但我在加载.otf字体时遇到了问题。当assetmanager正在进行时,游戏退出 代码如下: Java文件AssetManager.Java assetManager = new AssetManager(); // set the loaders for the generator and the fonts themselves FileHandleResolver resolver = new Internal

我使用libgdx资产管理器来加载资产。仅加载图像和声音/音乐时听起来不错。但我在加载.otf字体时遇到了问题。当assetmanager正在进行时,游戏退出

代码如下: Java文件AssetManager.Java

assetManager = new AssetManager();

// set the loaders for the generator and the fonts themselves
FileHandleResolver resolver = new InternalFileHandleResolver();
assetManager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
assetManager.setLoader(BitmapFont.class, ".otf", new FreetypeFontLoader(resolver));

// load to fonts via the generator (implicitely done by the FreetypeFontLoader).
// Note: you MUST specify a FreetypeFontGenerator defining the ttf font file name and the size
// of the font to be generated. The names of the fonts are arbitrary and are not pointing
// to a file on disk!
FreetypeFontLoader.FreeTypeFontLoaderParameter freeTypeFontLoaderParameterScore = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
freeTypeFontLoaderParameterScore.fontFileName = Constants.FONT_DEFAULT;
freeTypeFontLoaderParameterScore.fontParameters.size = Constants.XLG_FONT_SIZE;
assetManager.load("defaultScore.otf", BitmapFont.class, freeTypeFontLoaderParameterScore);

FreetypeFontLoader.FreeTypeFontLoaderParameter freeTypeFontLoaderParameterScoreShadow = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
freeTypeFontLoaderParameterScoreShadow.fontFileName = Constants.FONT_DEFAULT;
freeTypeFontLoaderParameterScoreShadow.fontParameters.size = Constants.XLG_FONT_SIZE;
assetManager.load("defaultScoreShadow.otf", BitmapFont.class, freeTypeFontLoaderParameterScoreShadow);

FreetypeFontLoader.FreeTypeFontLoaderParameter freeTypeFontLoaderParameterElapsedTime = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
freeTypeFontLoaderParameterElapsedTime.fontFileName = Constants.FONT_DEFAULT;
freeTypeFontLoaderParameterElapsedTime.fontParameters.size = Constants.MD_FONT_SIZE;
assetManager.load("defaultElapsedTime.otf", BitmapFont.class, freeTypeFontLoaderParameterElapsedTime);

FreetypeFontLoader.FreeTypeFontLoaderParameter freeTypeFontLoaderParameterElapsedTimeShadow = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
freeTypeFontLoaderParameterElapsedTimeShadow.fontFileName = Constants.FONT_DEFAULT;
freeTypeFontLoaderParameterElapsedTimeShadow.fontParameters.size = Constants.MD_FONT_SIZE;
assetManager.load("defaultElapsedTimeShadow.otf", BitmapFont.class, freeTypeFontLoaderParameterElapsedTimeShadow);
Mygame.java

@Override
public void create () {
    AssetsManager.getInstance().loadAssets();
    setScreen(new SplashScreen());
}

@Override
public void dispose() {
    super.dispose();
    AssetsManager.getInstance().dispose();
    AudioManager.dispose();
    Gdx.app.log("STATUS", "DISPOSING");
}

@Override
public void render() {
    super.render();
    if (finishedLoadingSplash == false){
        if (AssetsManager.getInstance().update()){
            finishedLoadingSplash = true;
            AudioManager.getInstance().init();
            setScreen(new GameScreen());
        }
    }
}
在上面的代码中,assetmanager从.otf文件加载4 bitmapfont。 assetmanager正在进行时,游戏突然退出


但是如果我删除了一些代码,assetmanager只加载1或2个bitmapfont,或者如果我更改了字体(字体文件大小为136kb,我更改的字体小于40kb),游戏就很好,不会突然退出。我弄错了吗?谢谢

logcat中有任何错误吗?我想没有。我只是在android监视器中看到“com.mygame.test.android(10481)[死亡]”,设备中没有“强制关闭”消息。你应该在崩溃日志中看到stacktrace。请使用logat而不使用任何特定参数。如果您使用基本的“adb logcat”命令跟踪logcat,您将看到堆栈跟踪。