在三星上工作,但在Nexus 7上是空白屏幕



,新年快乐

我正在按照本教程开发我的应用程序(使用LibGdx,扩展游戏,使用AbstractScreen,使用Stage)。然而,目前我遇到了一个非常有趣的问题。在我的三星手机上一切都显示正确,但在我的华硕Nexus 7上没有。请参阅此链接以获取两台设备的录制视频(MP4:~800kb)。正如你从三星手机上看到的,你可以看到"Fullmoon股份有限公司"的闪屏(约25秒)。然而,即使我确信我的应用程序正在我的nexus 7上运行(声音在特定的时间段内播放),我的nexes 7也不会显示任何内容。我试着更新我的nexus 7,重置回出厂默认值,在空的配置文件上运行,但仍然没有成功。我完全不知道该怎么做才能修复它。

另一件事是加载屏幕上的加载条(从5秒到23秒)显示不正确。根据以下代码,加载条(黄色窗口)应以平滑的方式加载。然而,根据你在视频中看到的,事实并非如此。目前,该栏只显示"加载所有内容后"。有人能带我回到正确的道路吗?

loadingPercent = Interpolation.linear.apply(loadingPercent, thisApps.assetManager.getProgress(), 0.1f);
this.loadingYellowBox.setWidth(-1040 + (int) (loadingPercent * 1040));

非常感谢,欢迎大家发表意见。

我可以回答问题的第二部分。AssetManager根据密码集的数量而不是其大小来计算百分比。假设你有一个巨大的纹理图谱,它包含在一个纹理和其他几个小资源中。加载图集需要9秒,还有4个其他小资源需要1秒才能加载。

所以,看看会发生什么。当你期望90%-10&时,你有20%-20%-20%-20%;。如果你想要更精确的百分比,你需要用其他方法计算百分比。

空白屏幕故障更为棘手。您需要检查Stage是否正确初始化,纵横比是否正确,资源是否正确加载。您可以下载libgdx的源代码,将其添加到项目中,并使用调试器执行呈现方法。如果你在那里发现了可疑的东西,你可以更新这篇文章或创建一个新的。

我终于找到了问题的根源。问题是,当我打包所有图像时,我将Max page widthMax page height设置为4086。我猜测Nexus并没有"真正"加载这些图像。当我将Max page widthMax page height都减少到2048时,问题得到了解决。不管怎样,我仍然很感激来自"noone"one_answers"北方黑暗之子"的帮助

最新更新