0

我正在使用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);

如果我使用scoreSprite,等,我需要为每个精灵一次又一次lifeSprite地创建纹理。textureRegion

它增加了游戏的加载时间。有什么办法可以解决这个问题吗?

4

1 回答 1

0

事实上,每个精灵类型都需要图集和纹理区域,而不是每个精灵实例。

为避免过多的图集实例和从磁盘加载时间,您可以使用平铺 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、剔除和无主题背景

于 2013-07-08T02:15:54.293 回答