LibGDX: 黑色矩形而不是动画纹理
LibGDX: black rectangles instead of animation textures
我使用 AssetManager 来管理 libgdx 游戏中的资产。我有静态图像和动画。当我使用模拟器(Nexus 6,Api 29)来测试游戏时它很好,但是一旦我将游戏模拟到我的真实 phone(三星 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());
我画在这里。这是来自管理渲染的class:
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
许多设备不支持尺寸不是 2 的幂的纹理。您应该使用 TexturePacker 打包您的纹理并保持 pot
设置打开。
我使用 AssetManager 来管理 libgdx 游戏中的资产。我有静态图像和动画。当我使用模拟器(Nexus 6,Api 29)来测试游戏时它很好,但是一旦我将游戏模拟到我的真实 phone(三星 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());
我画在这里。这是来自管理渲染的class:
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
许多设备不支持尺寸不是 2 的幂的纹理。您应该使用 TexturePacker 打包您的纹理并保持 pot
设置打开。