java - Libgdx for android 在主屏幕前显示黑色

标签 java android libgdx

我正在 LibGDX 中制作游戏,我注意到当我的游戏启动时,在绘制游戏的白屏之前会显示黑屏片刻。

我在我的应用程序的 style.xml 中使用 android:windowBackground 将我的应用程序主题的背景设置为不同的颜色,并且预览窗口显示该颜色。但是,就在我的应用程序的主屏幕加载之前,屏幕在显示主屏幕之前先变黑了一会儿。

我已经尝试在我的游戏的主要 Activity 和游戏类中设置 Gdx.gl.glClearColor(1,1,1,1),但是黑屏仍然显示了一会儿绘制主屏幕。

我发现解决此问题的唯一方法是将 android:windowDisablePreview 设置为 true,但这会一起禁用预览窗口。

有没有办法在不禁用预览的情况下解决这个问题?

最佳答案

除了将对象创建转移到构造函数之外,您还需要将 ApplicationListener 对象的创建转移到 Activity 类的构造函数中。

黑屏可能是因为 Activity.onCreate() 调用开始和 ApplicationListener.show() 调用结束之间的时间延迟。
尝试使用计时器或简单地使用 System.currentTimeMillis() 来测量它,所以差异将是可见的。

如果不能消除问题,这应该会改善情况。

关于java - Libgdx for android 在主屏幕前显示黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685306/

相关文章:

libgdx - 创建按钮时,LibGDX崩溃

android - 安装失败_存储空间不足

java - 检查 Android native 联系人上的联系人是否已更改以更新我的数据库(sqlite)

android - 单击 NeutralButton 时如何避免隐藏(或关闭)AlertDialog?

java - 发生碰撞时将物体从世界中移除

java - 当 Sprite 用加速度计旋转时, Sprite 从墙上弹跳

java - 使用 Ajax 进行 Keycloak 身份验证

java - 用于更新通知 channel 设置的 Android 通知操作

java - 终止应用程序和 ScheduledExecutorService;线

java - 在 Lambda 表达式上调用方法