0

我正在尝试创建一个级别为 380 X 10000 的垂直滚动游戏。当我创建纹理以加载图像时,我收到此错误:原因:com.badlogic.gdx.utils.GdxRuntimeException:纹理宽度和高度必须是 2 的幂:380x10000 我知道我可以得到 512X512 的纹理来很好地加载。那么我需要做些什么来加载这个背景图像呢?

Assets{
public static Texture levels;
    public static TextureRegion levelsRegion;
}

Load{
    levels = loadTexture("data/levels.png"); <--------- Error occurs here.
        levelsRegion = new TextureRegion(background, 0, 0, 380, 10000); <--- Doesnt get to this point
}
4

2 回答 2

1

WWOOoooo 380x10000?? 你是针对手机吗??如果您使用的是 GL 1.1,则使用 GL2.0 将解决您的 -not power of two- 问题。不太确定您的设备是否能够加载该纹理!

PS:如果是这样,请考虑拆分纹理。并非所有设备都能够加载 10000 像素宽的纹理!

于 2012-12-22T23:13:04.563 回答
1

利用

Texture.setEnforcePotImages(false)

然后您可以加载非正方形(精确的两个长的非幂)图像。虽然加载这么大的图像是非常糟糕的主意。只需将其拆分为更小的部分,并在需要在屏幕上显示时使用它们。

于 2013-07-23T15:34:21.900 回答