0

レベルが380X10000の垂直スクロールゲームを作成しようとしています。画像を読み込むためにテクスチャを作成すると、次のエラーが発生します。原因: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

使用する

Texture.setEnforcePotImages(false)

次に、非正方形 (2 の累乗ではない長さで正確なサイズ) の画像を読み込むことができます。このような大きな画像をロードするのは非常に悪い考えですが。小さなパーツに分割して、画面に表示する必要があるときに使用してください。

于 2013-07-23T15:34:21.900 に答える
1

WOOOoooo 380x10000?? 携帯電話をターゲットにしていますか?? GL 1.1 を使用している場合、GL2.0 を使用すると、2 の累乗ではない問題が解決されます。お使いのデバイスがそのテクスチャをロードできるかどうかはよくわかりません!

PS: その場合は、とにかくテクスチャを分割することを検討してください。すべてのデバイスが 10000 ピクセル幅のテクスチャをロードできるわけではありません!

于 2012-12-22T23:13:04.563 に答える