Вращающиеся группы изображений в AS3 - PullRequest
0 голосов
/ 03 апреля 2012

Я работаю над двухмерной вертолетной игрой сверху вниз, которая представляет собой уникальную (по крайней мере для меня) задачу, и я надеюсь, что стек-сообщество может предложить некоторые предложения.Мне нужно, чтобы вертолеты могли вращаться, а также чтобы дверные пистолеты могли вращаться.Если я помещу их в мувиклип, то это не проблема, и жизнь прекрасна, но я собираю это для iOS, и мувиклипы играют не очень хорошо.Итак, мне нужно использовать растровые изображения.Что вы посоветуете, как отслеживать «точки крепления» дверных пистолетов, когда вертолет вращается и переводить пистолеты в 2d, а также вращать их?Заранее спасибо за любые предложения (кроме "Google it" - я сделал это совсем немного)

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

просто используйте метод 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, вы можете написать скрипт, чтобы сделать это тривиальной задачей.

0 голосов
/ 03 апреля 2012

Ниже приведена ссылка на игру, которую я сделал несколько лет назад, она изворотливая, но в ее начале также есть весь исходный код.

http://www.ffiles.com/flash/games/helicopter_game_with_camera_follow_3159.html

также попробуйте это какЭто вид сверху автомобиля, но колеса двигаются отдельно:

http://ffiles.com/flash/games/flash_racing_game_3161.html

...