3

現在、4 つの個別の BitmapTextureAtlas にロードしている 4 つの異なる画像があります。私がやりたいことは、1 つの BitMapTextureAtlas 内に 4 つの異なる画像をロードして、速度を最適化することです。コードを編集して機能させるべきだったと思いますが、これ(ライブ壁紙)がテクスチャをロードすると、画面が真っ白になります。これが私がこれまでに行ったことです:

onLoadResources()

元の BitmapTextureAtlas:

this.StarsAtlas = new BitmapTextureAtlas(1024, 1024, TextureOptions.DEFAULT);   
this.SpaceAtlas = new BitmapTextureAtlas(1024, 1024, TextureOptions.DEFAULT);
this.CloudsAtlas = new BitmapTextureAtlas(1024, 1024, TextureOptions.DEFAULT);
this.SunetAtlas = new BitmapTextureAtlas(1024, 512, TextureOptions.DEFAULT);

私は次のように要約しました:

this.skyAtlas = new BitmapTextureAtlas(1024, 4096, TextureOptions.BILINEAR);

元のテクスチャ領域:

    this.LayerStars = BitmapTextureAtlasTextureRegionFactory 
            .createFromAsset(this.StarsAtlas, this,
                    "stars.jpg", 0, 0); //568x518
    this.LayerSpace = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.SpaceAtlas, this,
                    "space.jpg", 0, 0); //500x800
    this.LayerClouds = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.CloudsAtlas, this,
                    "clouds.jpg", 0, 0); //600x478
    this.LayerSunset = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.SunsetAtlas, this,
                    "sunset.jpg", 0, 0); //997x460

私は次のように変更しました:

    this.LayerStars = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.skyAtlas, this,
                    "stars.jpg", 0, 0); //568x518
    this.LayerSpace = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.skyAtlas, this,
                    "space.jpg", 0, 518); //500x800
    this.LayerClouds = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.skyAtlas, this,
                    "clouds.jpg", 0, 1318); //600x478
    this.LayerSunset = BitmapTextureAtlasTextureRegionFactory
            .createFromAsset(this.skyAtlas, this,
                    "sunset.jpg", 0, 1796); //997x460

テクスチャのロード:

this.mEngine.getTextureManager().loadTexture(
            this.skyAtlas);

...後でonLoadScene() これは同じままです:

    Sprite starSprite = new Sprite(0, 0, 568, 518, this.LayerStars);
    Sprite cloudSprite = new Sprite(0, 0, 600, 478, this.LayerClouds);
    Sprite spaceSprite = new Sprite(0, 0, 500, 800, this.LayerSpace);
    Sprite sunsetSprite = new Sprite(0, 0, 997, 460, this.LayerSunset);

白い画面の原因は何ですか?補足として、4 つの個別の BitmapTextureAtlas に 4 つの異なる画像がある場合、正常に読み込まれました。

4

1 に答える 1

2

私が見ることができる唯一のことは、異なるテクスチャ オプションを使用していることです。TextureOptions.BILINEAR の代わりに TextureOptions.DEFAULT を試しましたか? AndEngine フォーラムの theturtleboy は、同じ設定を使用した JPEG でいくつかの問題を抱えていました。http://www.andengine.org/forums/development/jpeg-support-t26.htmlを参照してください。

于 2012-05-24T18:21:08.380 に答える