如何在andengine中避免更多的纹理和纹理区域

时间:2013-07-01 14:04:27

标签: andengine game-engine

我正在使用andengine开发游戏。对于每个精灵,我需要创建纹理和textureRegion

Texture bgTexture;

TextureRegion bgTextureRegion;

this.bgTexture = new Texture(512, 1024,TextureOptions.BILINEAR_PREMULTIPLYALPHA);

  this.bgTextureRegion = TextureRegionFactory.createFromAsset(
            this.bgTexture, this, "gfx/bg.png", 0, 0);

Sprite bgSprite = new Sprite(0, 0, this.bgTextureRegion);

如果我使用scoreSpritelifeSprite等,我需要再次创建一个纹理和textureRegion&再次为每个精灵。

它增加了游戏的加载时间。解决此问题的任何解决方案?

1 个答案:

答案 0 :(得分:0)

事实上,你需要atlas&每个精灵类型的纹理区域,而不是每个精灵实例。

为了避免太多的地图集实例和从磁盘加载时间,你可以使用平铺的png作为你的图形(一个较大的png上有很多图像,每个png最多1024x1024)。那么你可以使用

获得精灵类型的纹理区域
TextureRegion textureRegion = new TextureRegion(atlas, tiledX, tiledY, TILED_WIDTH, TILED_HEIGHT);

这里提到了其他提示和技巧:

http://www.matim-dev.com/tips-and-tricks---how-to-improve-performance.html

电除尘器。池,Spritebatch和Spritegroups,剔除和没有主题背景