1. Нет общей передовой практики.
Если в вашей игре много элементов (сложной формы), частиц и т. Д., Подход с использованием растрового буфера будет намного быстрее. Буфер растровых изображений также будет масштабироваться лучше с увеличением сложности ваших спрайтов. Векторный рендер будет работать медленнее с более сложными фигурами или анимацией анимации движения, однако у него есть и другие преимущества:
- Вы можете свободно масштабировать свои активы или даже увеличивать изображение без потери качества.
- Вращение или другие преобразования, такие как перекос будет намного легче выполнять на векторной графике
Итак, в заключение, все сводится к тому, какую игру вы строите.
2. Использование MovieClips вместо растровых спрайт-листов
Полагаю, вы имели в виду «растровые спрайт-листы», а не класс AS3 Sprite ?
Это не имеет значения, на самом деле. Вы всегда можете превратить анимацию на основе MovieClip в анимированные растровые изображения. Либо вручную, экспортируя фильм в кадры и превращая их в спрайт-лист , либо динамически, отрисовывая спрайт-лист из мувиклипа во время выполнения. Вот как бы я это сделал:
- Создайте экземпляр мувиклипа и
stop()
его.
- Создайте
new BitmapData
объект с той же шириной и высотой, что и мувиклип.
- Используйте метод draw () , чтобы отобразить мувиклип в BitmapData.
- Сохраните объект BitmapData в массиве или векторе.
- Перейдите к следующему кадру мувиклипа и повторите шаги 2–4, делайте это, пока не достигнете последнего кадра мувиклипа. Также неплохо обновить две переменные с максимальной шириной и максимальной высотой ваших кадров MovieClip (поскольку они могут меняться от кадра к кадру).
- Теперь вы можете объединить все сохраненные объекты BitmapData в лист Sprite (используйте BitmapData.copyPixels () )
3. Спрайт-анимация
Как уже упоминалось в ответе на ваш первый вопрос, на это нет однозначного ответа. Если вам нужно выполнить много преобразований с вашими объектами, например. масштабирование и вращение , вероятно, вам лучше использовать встроенный рендерер flash. Если у вас есть предварительно определенные анимации, которые можно запекать на спрайт-листы (вручную или динамически), и если вам нужно отображать сотни спрайтов одновременно, тогда используйте механизм рендеринга растровых изображений.