я новичок в играх для Android и начал разработку и столкнулся с проблемой при использовании createTiledFromAsset
код, где я получаю проблему:
@Override
public void onLoadResources() {
mBitmapTextureAtlas = new BitmapTextureAtlas(128, 128,
TextureOptions.BILINEAR);
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
mPlayerTextureRegion = BitmapTextureAtlasTextureRegionFactory
.createTiledFromAsset(this.mBitmapTextureAtlas, this,
"move.png", 0, 0, 10, 1);
mEngine.getTextureManager().loadTexture(mBitmapTextureAtlas);
}
@Override
public Scene onLoadScene() {
mEngine.registerUpdateHandler(new FPSLogger());
mMainScene = new Scene();
mMainScene
.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
player = new AnimatedSprite(0, 0, mPlayerTextureRegion);
mMainScene.attachChild(player);
return mMainScene;
}
я не получаю сообщение об ошибке, так как мой BitmapTextureAtlas имеет 128 * 128, и каждая мозаичная часть, полученная из createTiledFromAsset, должна иметь 78 * 85, поскольку переданные ей аргументы - это 1 строка и 10 столбцов, а мое исходное изображение имеет 779 * 85 это означает, что если ширина разделена на 10 частей, то 779/10 = 78 приблизительно, что будет шириной каждой плиточной части, а строка равна 1, поэтому 85/1 = 85, следовательно, ширина * высота каждой плиточной части, которая должна быть размещена для BitmapTextureAtlas - 78 * 85, а сам BitmapTextureAtlas имеет размер 128 * 128, тогда почему ошибка говорит Supplied pTextureAtlasSource must not exceed bounds of Texture
что здесь происходит ...? или я не понимаю фактические функции ...? если я не прав, то как работает процесс createTiledFromAsset ........?