0

Я использую рамки Starling и Flash Builder.Старлинг перемещается вокруг огромного изображения

У меня есть большое изображение карты (около 5500x4500 пикселей), где игрок летает. Он не повторяется, а не основан на основе плитки, а основан на векторе.

Я перемещаю камеру вокруг следующего игрока на каждом событии enterFrame, камера отображает приблизительно 800x400 часть карты на кадр. Камеру movemet моделируют, изменяя координаты X и Y для родительских карт DisplayObject. Каков наилучший способ сделать это и иметь стабильные 60 кадров в секунду?

То, что я сейчас (attemp с максимальной FPS на мобильный телефон):

  • 9 Старлинг изображений с максимальным размером текстуры: 2048x2048 (или меньше по краям). Я получаю 53-60 FPS, но мне нужна стабильность, я чувствую, что уже нахожусь в области рендеринга.

То, что я пытался (дает меньше FPS):

  • рисование спрайты для каждого отдельного объекта карты (гораздо больше, чем 9, но меньшего размер)

  • Использования CullingSprite (не оказывающие itel, когда не видно)

ответ

2

Действительно, вам нужно всего 4 изображения e вашего экрана, который обертывается вокруг и образец из атласа текстуры. И для скворца реализация movieclips отличная, потому что вы можете просто изменить ее содержимое на другой фрейм или часть атласа текстуры. Таким образом, вы не удаляете и не создаете новые изображения каждый раз, когда вам нужно обернуть.

enter image description here

Дозирование также один из способов вы можете улучшить его, перемещая все образцы, как единое целое.

+0

Отличное представление о наличии только 4 экранов! Это нормально для быстрого рендеринга, что размер экрана не 2^n? – user1561713

+0

Так что в основном я все еще перемещаю контейнер DisplayObject, который содержит все 4 BG, но не дальше screen.width, высота экрана, и когда я попадаю в сторону этого контейнера BG, я просто прыгаю и меняю изображения Movieclip, я получил ваш совет правильно? – user1561713

+0

Размер экрана не должен быть 2^n. Единственное реальное преимущество было бы иметь ваши образцы 2^n, но это может привести к тому, что образцы будут намного больше, потому что, даже если вам нужно всего пару пикселей, 2^n удвоит его! – Iggy

Смежные вопросы