Загрузка только видимых областей большого изображения в cocos2d - PullRequest
0 голосов
/ 21 марта 2012

Мы используем cocos2d для отображения большого изображения, которое состоит из трех различных параллаксирующих слоев в приложении для iPhone / iPad. Пользователь сможет перемещаться вокруг этого большого изображения.

Эти изображения будут иметь ширину около 13000 пикселей, поэтому мы беспокоимся об использовании памяти. В идеале мы хотели бы создать сетку изображения и загрузить его подразделы на основе того, что в данный момент видно.

Включает ли cocos2d что-нибудь, что поможет нам в этом? Мы рассмотрели использование карт Tile (у нас есть прототип, работающий на CCTMXTiledMap), но не похоже, что это на самом деле хорошее применение карт листов, поскольку они обычно используются для больших карт / изображений, которые состоят из повторяющиеся меньшие изображения; тогда как каждая плитка на наших больших изображениях будет уникальной.

Есть ли у кого-нибудь яркие идеи о том, как сделать это лучше?

1 Ответ

1 голос
/ 21 марта 2012

Я помню, как увидел пост в блоге, где программист iPhone загружает изображения в фоновом потоке при прокрутке экрана. Он сказал, что пока прокрутка не слишком быстрая, добиться плавной прокрутки не проблема.

Вы в основном загружаете участки изображений в зависимости от того, куда движется экран, и освобождаете изображения, которые выходят за границы экрана. Таким образом, будет сам экран и граница по краям экрана, которая будет действовать в качестве буфера на случай, если игрок движется вперед и назад (влево или вправо и т. Д.).

Хотелось бы найти ссылку, но после 30 минут поиска я сдался. Я видел его видео, и оно прокручивалось очень плавно.

...