libgdx用户关闭屏幕

时间:2013-07-24 20:36:10

标签: java scale libgdx

我刚注意到,当我在移动设备上关闭屏幕并再次打开时,某些图形会调整大小或消失。我的游戏编码为800x480分辨率,我的HTC Desire HD没有这个问题(它的分辨率为800x480)。但是,在我的HTC One或三星Galaxy S3上测试图形比例或表现得很奇怪。

那些行为奇怪的物体唯一的共同点就是它们每一帧都会旋转。固定物体似乎根本没有受到影响。

我有星星每一帧旋转和放大/缩小,我有一个向左/向右或向上/向下移动的移动块。当屏幕重新启动时,移动块似乎忽略了碰撞,并且消失在他无法触及的位置。

有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

当您关闭屏幕时,渲染暂停(即不会调用render())。当你恢复时,Gdx.graphics.getDeltaTime()会非常大,因为最后一帧至少在几秒钟前渲染。因此,通常大约为0.0166(60 FPS)的增量时间值现在将大约为100倍。

如果您正在使用此delta来进行物理模拟/碰撞检查步骤,那么这将是beserk,因为它太大了。旋转不应该是一个真正的问题,但缩放也会成为一个问题。

避免这种情况的一种简单方法是输入类似

的内容
if (delta > 0.1f)
    delta = 0.0166f

避免采取非常大的步骤。