LibGDX:黑色矩形而不是动画纹理

时间:2019-07-04 14:49:15

标签: java android graphics libgdx

我使用AssetManager来管理libgdx游戏中的资产。我有静态图像和动画。当我使用模拟器(Nexus 6,Api 29)测试游戏时,还不错,但是一旦我将游戏模拟到我的真实手机(Samsung J5 2016,Api 25)上,它便开始显示黑色矩形,而不是某些动画,但带有静态纹理很好。

我的动画是800x800像素,10 fps。

这里是这种纹理的一个例子。此代码在“正在加载”屏幕中:

assetManager.load(AssetDescriptors.BONUS_TEXTURE);

在这里我实例化动画,帧时间= 0.1f。此代码在工厂中,使用以下动画创建对象:

animationComponent.animation = new Animation<>(GameData.FRAME_TIME,
                assetManager.get(AssetDescriptors.BONUS_TEXTURE).getRegions());

在这里我画它。这是来自管理渲染的类:

batch.draw(animationComponent.animation.getKeyFrame(animationComponent.elapsedTime, true),
                position.x - dimension.width / 2f, position.y - dimension.height / 2f,
                dimension.width, dimension.height
        );

这在模拟器上起作用,而在实际设备上不起作用。请告诉我有什么问题。谢谢您的帮助。

emulator emulator

phone - player, pot and gran animations phone - gran and pot animations

1 个答案:

答案 0 :(得分:0)

许多设备不支持尺寸不是2的幂的纹理。您应该使用TexturePacker包装纹理,并保持pot设置为开。