Большой растровый рисунок без задержки - PullRequest
0 голосов
/ 24 января 2012

Я использую растровое изображение 3800x3000 в качестве фона игры.

Теперь я сначала показываю всю растровую картинку - ландшафт - и затем увеличиваю масштаб символов. Я использую TweenMax из GreenSock, но даже с этим продвинутым классом анимации мое растровое изображение не перемещается и не масштабируется плавно.

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

Ответы [ 2 ]

1 голос
/ 25 января 2012

Это на самом деле не проблема, специфичная для Flash, так как это скорее общий вопрос разработки игр по своей природе. Манипулирование огромным базовым растровым изображением (на любом языке) в памяти будет медленным, несмотря ни на что. По сути, вы перемещаете сотни мегабайт памяти в текущий буфер кадров при каждом вызове отрисовки. Если вы посмотрите на большинство огромных фоновых игр, таких как боковые скроллеры, фон состоит из множества мелких объектов, которые воспроизводятся сотни раз. Этот метод затем комбинируется с помещением на сцену только небольших спрайтов, которые можно увидеть в текущем экранном буфере. При перемещении по карте вы удаляете фрагменты, которые больше не видны, и дополнительные плитки, по которым перемещается экран. Эта часть техники часто называется буферизацией плитки. Надеюсь, это поможет!

1 голос
/ 24 января 2012

Почему растровое изображение такое большое? Ваше целевое устройство / экран расширяется до 3800x3000?

Предложения:

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

  2. Убедитесь, что cacheAsBitmap включен. Это говорит Flash оптимизировать рендеринг растровых изображений. Это работает лучше всего, когда растровые изображения не имеют фильтров, мало преобразований и не часто перемещаются или вращаются. Идеально подходит для неподвижных фонов.

  3. ЖЕСТКИЙ РЕЖИМ: Если вы хотите получить необычайную фантазию и ваша целевая аудитория поддерживает последнюю версию Flash Player, попробуйте создать фон в качестве текстуры для прямоугольника в трехмерном пространстве, которое находится за 2D-сценой. Смотрите этот пост Тибо Имберта, чтобы понять, что я имею в виду: http://www.bytearray.org/?p=2555

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...