Я работаю над двухмерной вертолетной игрой с видом сверху, которая представляет собой уникальную (по крайней мере для меня) задачу, и я надеюсь, что сообщество стека может предложить некоторые предложения. Мне нужно, чтобы вертолеты могли вращаться, а дверные пушки могли вращаться. Если я помещаю их в мувиклип, то это не проблема, и жизнь прекрасна, но я собираю это для iOS, и мувиклипы не воспроизводятся хорошо. Итак, мне нужно использовать растровые изображения. Каковы ваши предложения о том, как отслеживать «точки крепления» дверных орудий при вращении вертолета и переводить орудия в 2d, а также вращать их? Заранее спасибо за любые предложения (кроме "погуглить" - я делал это совсем немного)
Вращение групп изображений в AS3
Ответы (2)
Ниже приведена ссылка на игру, которую я сделал несколько лет назад, она хитрая, но в начале есть весь исходный код.
http://www.ffiles.com/flash/games/helicopter_game_with_camera_follow_3159.html
также попробуйте это как вид автомобиля сверху, но колеса движутся отдельно:
http://ffiles.com/flash/games/flash_racing_game_3161.html
просто используйте метод MovieClip, который работает!
У меня одновременно на сцене как минимум 200 ведущих, и у меня не было проблем с iPad (правда, iPhone может быть немного более ограниченным, но читайте дальше!). Пока вы используете экземпляры из библиотеки, а не делаете огромное количество разных иконок для одной и той же функциональности (например, все вертолеты должны быть из одного вертолета), все должно быть в порядке.
Основная хитрость заключается в том, чтобы найти и использовать функции Air по экономии памяти. Видеоклипы, например, должны использовать cacheAsBitmap
и cacheAsBitmapMatrix
а>. Есть несколько решений проблемы сложных MC, которые (по сути) копаются в MC и назначают cacheAsBitmap
по мере необходимости - однако вам придется их поискать.
Еще одним важным инструментом является объединение объектов. Это может быть наиболее важной концепцией для реализации, если у вас есть огромное количество объектов (например, пуль).
Дело в том, что если у вас есть работающее решение, используйте его.
В общем, трюк, который я использую для сохранения определенной точки для размещения вещей в MC, состоит в том, чтобы добавить объект 1px X 1px, доступный из ActionScript, и назвать его attachPt
. Затем я присваиваю x,y объекту Point
с именем attachPoint
в файле класса и использую его для размещения. Иногда мне приходилось использовать globalToLocal()
и localToGlobal()
.
Добавление:
Больше советов:
Используйте матрицы для размещения и поворота. . . это конечно быстрее и более управляемо.
Не используйте какие-либо фильтры (размытие, свечение и т. д.). Вместо этого создайте PNG для имитации эффектов, если это абсолютно необходимо.
Используйте прозрачные пленки умеренно, особенно для подростков.
Сведите и объедините как можно больше слоев.
Опять же, объединение, объединение, объединение для видеоигр, даже с растровыми изображениями.
Наконец, вы всегда можете заменить MC на Bitmap в будущем. Поскольку разрабатывать с помощью MC намного проще, вы все равно можете создать игру, используя их, а затем поменять местами. Если вы знаете JSFL, вы можете написать скрипт, чтобы упростить эту задачу.