Android: AndEngine - слишком большой размер текстуры AnimatedSprite?

извините, если этот вопрос уже задавался, но я не смог найти ссылку на него, пытаясь начать использовать andEngine, и я пытаюсь использовать изображение 3360x720, потому что оно разбито на 7 столбцов. Я пробовал этот метод:

// Initialize the background
this.mBackgroundTexture = new Texture(4096, 1024, TextureOptions.BILINEAR);
this.mEngine.getTextureManager().loadTextures(this.mBackgroundTexture);
this.mBackgroundRegion = TextureRegionFactory.createTiledFromAsset(this.mBackgroundTexture, this, "back_anim_tiled.png", 0, 0, 7, 1);// 3360x720
this.mBackground = new AnimatedSprite(0, 0, 480, 720, this.mBackgroundRegion);

Теперь все, что я получаю, это белый экран, когда я анимирую и прикрепляю его к сцене? Просто текстура слишком велика для этой операции, и если да, то что я должен сделать для простой небольшой анимации, такой как молния, появляющаяся на секунду? Я бы хотел, чтобы это был настоящий анимированный спрайт, а не я вручную устанавливал фоновое изображение. Любая помощь будет оценена, спасибо

[новая информация] Я почти уверен, что это как-то связано с размером, с которым может работать каждый телефон. Я проверил это, изменив размер изображения до 1024x720, 2048x720 и снова до 4096x720. Сохранил размер моего спрайта таким же, как 480x720 (размер камеры), и он отлично работал для любого количества столбцов для первых двух, но 4096px просто показывает белый экран. Ну что ж, если кто-то найдет способ обойти это, пожалуйста, дайте мне знать, так как сейчас я, вероятно, просто вручную настрою свое «анимационное» изображение src вручную.

С тех пор я обнаружил, что когда ваша текстура становится выше 1024x1024, вы рискуете не отобразить ее, предполагая, что каждый телефон отличается от этого. Поэтому вместо этого я просто замедляю частоту кадров и использую меньшее изображение для тайлинга.


person While-E    schedule 26.04.2011    source источник
comment
С тех пор я обнаружил, что когда ваша текстура становится выше 1024x1024, вы рискуете не отобразить ее, предполагая, что каждый телефон отличается от этого. Поэтому вместо этого я просто замедляю частоту кадров и использую меньшее изображение для тайлинга.   -  person While-E    schedule 27.04.2011


Ответы (1)


У меня возникла аналогичная проблема, когда, кажется, существует случайное ограничение на размер очень больших текстур. Я использую фоны для своей игры с текстурами размером 1024 x 1024, и казалось, что если я попытаюсь отобразить 4 или более, последняя добавленная будет просто отображаться как белая.

Извините, я не могу предложить никакой реальной помощи, но определенно не беспокойтесь об этом, потому что вы и я не первые, кто столкнулся с этой проблемой, и я думаю, что это одна из тех вещей, которые Николас будет решать в Andengine.

person Sam Stern    schedule 16.06.2011
comment
не беспокойтесь здесь: Николас - мужчина. Проведя довольно много исследований, я выяснил, что почти каждый телефон будет иметь различное ограничение на память и, следовательно, размер текстуры: поэтому необходимо программировать с учетом этого. - person While-E; 26.06.2011