我需要在libgdx游戏中应用一些纹理。其中包括airhockey table的背景图片。它是800x480px。我像这样加载它:
backgroundTexture = new Texture(Gdx.files.internal("images/background.png"));
我的box2d世界每分米分数为100。
当我在渲染方法中执行此操作时,我得到了我需要的东西:
debugRenderer.batch.begin();
debugRenderer.batch.draw(backgroundTexture, 0, 0);
debugRenderer.batch.end();
debugRenderer.render(world, camera.combined);
// camera with viewport 8.0x4.8 - 100 times smaller
// than actual window
问题在于身体开始移动速度快100倍。我做错了什么?
更新
我使用的是VirtualBox和Android x86。事实证明它没有硬件OpenGL支持所以当我应用纹理渲染速度下降到2-3 FPS。现在我正在使用带有x86系统映像,KVM和GPU加速的仿真器,所以感觉就像真正的设备
问题在于,物理世界的得分更新得分快于渲染时间。