Я не могу заставить TiledSprite работать так, как я ожидаю.Нет руководств, и примеры в AndEngineExamples не помогут.
Рассмотрите этот код:
@Override
public void onLoadResources() {
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
mBlockAtlas = new BitmapTextureAtlas(512, 512, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
mBlockTexture = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(mBlockAtlas, getApplicationContext(), "num_plasma.png", 0, 0, 3, 3);
getTextureManager().loadTexture(mBlockAtlas);
}
Это загружает текстуру 512x512, которую я - вручную - разделил на плитки 3x3только для целей тестирования.Теперь сделаем это:
public Scene onLoadScene() {
mScene = new Scene();
mScene.setBackground(new ColorBackground(0.5f, 0.1f, 0.6f));
TiledSprite foo, foo2;
foo = new TiledSprite(0, 0, mBlockTexture);
foo.setCurrentTileIndex(1);
foo2 = new TiledSprite(0, 200, mBlockTexture);
foo2.setCurrentTileIndex(5);
mScene.attachChild(foo);
mScene.attachChild(foo2);
return mScene;
}
Это выдает два спрайта на экран (как и ожидалось), но они оба показывают одну и ту же плитку (5)!
Как это сделатьесли у вас есть куча спрайтов, использующих одинаковую текстуру, но показывающих разные плитки?
