просто используйте метод MovieClip, который работает!
У меня на сцене не менее 200 MC одновременно, и у меня не было проблем с iPad (iPhone может быть немного более ограниченным, правда, но читайте дальше!).Пока вы используете экземпляры из библиотеки и не делаете огромное количество различных значков для одной и той же функциональности (например, все вертолеты должны быть с одного и того же вертолета), у вас должно быть все в порядке.
Основная хитрость заключается в том, чтобы найти и использовать функции экономии памяти Air.Например, для видеороликов следует использовать cacheAsBitmap
и cacheAsBitmapMatrix
.Существуют некоторые решения проблемы сложных MC, которые (по сути) копаются в MC и присваивают cacheAsBitmap
по мере необходимости - вам, однако, придется их искать.
Другим важным инструментом является объединение объектов.Это может быть наиболее важной концепцией для реализации, если у вас огромное количество объектов (например, маркеров).
Дело в том, что если у вас есть рабочее решение, используйте его.
В целом, однако, уловка, которую я использую для поддержания определенной точки для размещения объектов в MC, заключается в добавлении объекта размером 1px X 1px - доступного из ActionScript - и вызова его attachPt
.Затем я присваиваю x, y объекту Point
с именем attachPoint
в файле класса и использую его для размещения.Иногда мне приходилось использовать globalToLocal()
и localToGlobal()
.
. Добавление:
Дополнительные советы:
Использовать матрицы для размещения и поворота.,,это конечно быстрее и более управляемым.
Не используйте любые фильтры (размытие, свечение и т. Д.).Вместо этого создайте PNG для имитации эффектов, если это абсолютно необходимо.
Используйте прозрачные пленки в умеренных количествах, особенно в анимации.
Сведите и объедините столько слоев, сколько возможно.
Снова, пул, пул, пул для видеоигр, даже с растровыми изображениями.
Наконец, вы всегда можете заменить MC растровыми изображениями.Поскольку разрабатывать с помощью MC намного проще, вы все равно можете создать игру, используя их, и поменять их позже.Если вы знаете JSFL, вы можете написать скрипт, чтобы сделать это тривиальной задачей.