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

时间:2014-01-03 07:08:42

标签: java android libgdx

新年快乐,

我正在按照This tutorial开发我的应用程序(使用LibGdx,扩展游戏,使用AbstractScreen,使用Stage)。但是,目前我遇到了一个非常有趣的问题。一切都在我的三星手机上显示正确但在我的ASUS Nexus 7上没有显示。请参阅this link以查看两个设备的录制视频(MP4:~800kb)。从三星手机中可以看到,你可以看到“Fullmoon Inc.”闪屏(约25秒)。但是,即使我确定我的应用程序在我的nexus 7上运行(在特定时间范围内播放的声音),我的nexus 7根本不显示任何内容。我试图更新我的nexus 7,重置回工厂默认值,在空配置文件上运行,仍然没有运气。我完全不知道如何解决它。

另一件事是加载屏幕上的加载条(从5秒到23秒)无法正确显示。根据以下代码,装载条(黄色窗口)应以平滑的方式装载。但是,根据您在视频中看到的内容,它不是。目前条形图只显示“After”所有内容都已加载。任何人都可以带我回到正确的道路吗?

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

非常感谢,欢迎所有评论。

2 个答案:

答案 0 :(得分:1)

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

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

空白屏幕故障比较棘手。您需要检查Stage是否已正确初始化,宽高比是否正确,资源是否正确加载。您可以下载libgdx的源代码,将其添加到项目中并使用调试器进行渲染方法。如果您发现可疑的内容,可以更新此帖子或创建新帖子。

答案 1 :(得分:0)

我终于找到了问题的来源。问题是,当我打包我的所有图像时,我将Max page widthMax page height设置为4086.我猜测Nexus不会“真正”加载这些图像。当我将Max page widthMax page height都减少到2048时,问题就解决了。无论如何,我仍然感谢来自@noone和@son-of-the-northern-darkness的帮助