Создание игр для мобильных телефонов - Майкл Моррисон
Шрифт:
Интервал:
Закладка:
Создание карт для замощенных слоев
Замощенные слои состоят из отдельных элементов, расположенных так, что создается иллюзия цельного изображения. При этом не возникает необходимости в смешивании пикселей. Замощенные слои создаются программными средствами, а не в графическом редакторе, поэтому игры могут загружать различные карты, составленные из одного и того же набора. Это делает использование слоев чрезвычайно гибким при сравнительно низких затратах ресурсов мобильного устройства.
Один из интересных этапов при работе со слоями – это разработка карты, определение положений отдельных изображений. Даже при создании простейшей карты, требуется сначала проработать ее на листе бумаги, пронумеровать отдельные изображения, а затем приступать к программированию. Хочу отметить, что я потратил не один лист бумаги, чтобы создать карты для игр, с которыми вы будете работать в последующих главах книги. К сожалению, позже я нашел программное обеспечение, которое значительно упрощает разработку карт.
Я нашел два пакета для создания карт, каждый из них очень удобен и полезен:
► Mappy;
► Tile Studio.
Основная идея, которая лежит в основе этих программных продуктов, заключается в том, что вы создаете изображение из набора слоев определенного размера. Такое программное обеспечение намного эффективнее, чем карандаш и бумага – вы можете экспериментировать, создавать различные карты и моментально оценить результат. Учитывая, что большинство мобильных устройств отображают лишь небольшую часть изображения, очень удобно разрабатывать карты на большом экране монитора....В копилку Игрока
К сожалению, программы Mappy и Tile Studio работают только в среде Windows. Код Tile Studio доступен в сети, поэтому вы сможете найти версии, адаптированные для других платформ.
При выборе программного обеспечения руководствуйтесь исключительно собственным вкусом, хотя, на мой взгляд, работать с Mappy проще. С другой стороны, Tile Studio имеет больше инструментов. В следующих двух разделах речь пойдет о создании карт с использованием Mappy и Tile Studio.
Использование редактора карт Mappy
Редактор карт Mappy – это достаточно простое приложение, которое позволяет визуально создавать и редактировать замощенные слои. Научиться использовать Mappy очень просто, эта программа хороша тем, что вы можете вставлять сгенерированный код непосредственно в код Java. Вы поймете, о чем я говорю, дальше. А пока посмотрите на рис. 10.3, на котором показана карта, созданная в Mappy.
Рис. 10.3. Чтобы приступить к созданию карты в редакторе Mappy, определите размер карты и количество используемых цветов
...В копилку Игрока
Вы можете бесплатно загрузить Mappy с web-сайта http://www.tilemap.co.uk/mappy.php.
Задав размер слоя в пикселях и размер карты (количеством слоев), вы можете приступить к импорту карты. После того как из меню File (Файл) выбран пункт Import (Импорт), в правой части экрана вы увидите набор слоев, а в левой части – пустую карту (рис. 10.4).
Рис. 10.4. Слои загружены и готовы к размещению на новой карте
Чтобы приступить к созданию карты, щелкните по нужному слою из палитры и выберите нужный слой. Вы быстро поймете, как легко и просто создавать карты с помощью специального программного обеспечения. Я долго и мучительно рисовал карты карандашом на листах бумаги, а потом я понял, насколько эта задача облегчается, если использовать специальный редактор. Но дело не только в этом. Такие программные средства, как Mappy, позволяют вам видеть результат работы целиком непосредственно на экране. Это очень важно, учитывая, что на экране мобильного телефона вы можете видеть только небольшой фрагмент игрового мира.
На рис. 10.5 показан фрагмент достаточно большой карты, созданной с помощью Mappy.
Рис. 10.5. В Mappy отображается верхний левый угол созданной картыКонечно, вы можете перемещать карту в окне Mappy. На рис. 10.6 показан фрагмент карты, изображенной на рис. 10.5.
Рис. 10.6. Перемещаясь по карте в Mappy, вы можете работать над отдельными областями карты...В копилку Игрока
CSV-файлы – это текстовые файлы, которые содержат информацию, разделенную запятыми. Вы можете создавать такие файлы в Microsoft Excel или любом текстовом редакторе.
Когда вы сделали нужную карту, ее необходимо экспортировать и использовать в Java-коде. Хотя в Mappy есть несколько механизмов и форматов экспортирования кода карт, я обнаружил, что CSV-файлы лучше всего подходят для целей мобильного программирования. Чтобы экспортировать карту в CSV-файл, из меню File (Файл) выберите пункт Export (Экспорт), сделайте необходимые настройки в диалоговом окне (рис. 10.7).
Рис. 10.7. Чтобы создать данные карты, необходимо экспортировать карту из Mappy в CSV-файл
Помните, что CSV-файл – это просто текстовый файл, поэтому вы можете открыть его в любом текстовом редакторе. Ниже приведен текст такого файла, созданного Mappy для карты, представленной на рис. 10.5, 10.6.
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 21, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 22, 3,
3, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 18, 2, 2, 2, 5, 15, 15, 15, 15, 15, 15, 6, 2, 20, 3,
3, 18, 2, 2, 2, 7, 10, 1, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 14, 1, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 7, 10, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 14, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 14, 1, 9, 10, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 14, 1, 11, 12, 1, 16, 2, 20, 3,
3, 18, 2, 5, 6, 2, 2, 7, 13, 13, 13, 13, 8, 2, 20, 3,
3, 18, 2, 7, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 23, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 24, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3Если вы сравните эти индексы с элементами карт, представленными на рисунках, вы увидите, как карта соответствует этим числам. В следующих главах на основе этих данных мы восстановим карту, когда будем создавать мидлет Wanderer.
Использование редактора карт Tile Studio
Приложение Tile Studio очень похоже на Mappy, но обладает большими возможностями. Однако расширение возможностей приводит и к повышению сложности. Не поймите меня неправильно, Tile Studio – очень полезная программа, и вам, вероятно, она может показаться более универсальной, чем Mappy. Но чтобы начать работу над картами для мобильных игр, лучше применять Mappy, поскольку она проще в использовании. Поэтому я не буду тратить время на объяснение основ работы в Tile Studio. Вместо этого посмотрите на рис. 10.8, на нем показана карта, которую я создал с помощью Tile Studio.
Рис. 10.8. Интерфейс Tile Studio аналогичен интерфейсу Mappy
...В копилку Игрока
Вы можете загрузить Tile Studio с этой страницы в Internet: http://tilestudio.sourceforge.net/.
Как видно из приведенного рисунка (рис. 10.8), в Tile Studio в нижней части экрана вы можете выбрать нужный фрагмент и разместить его на карте. В Studio есть ряд специальных возможностей, которые вы не найдете в Mappy, но, может быть, вам они не понадобятся для работы. Я советую вам поработать с каждым из упомянутых приложений и решить, какое из них вам подходит более. Я могу с уверенностью сказать, что подобное программное обеспечение ускоряет и облегчает процесс разработки мобильных карт.
Форматирование информации о картах для игр
Раньше шла речь о Mappy, программе для создания карт, и я показал вам код, созданный таким приложением. Я не уточняю, что этот код означает, но вы можете догадаться, что цифры, разделенные запятыми, – это индексы слоев. Существует несколько способов запрограммировать карту. Самый простой способ сделать это – использовать массив целых чисел для хранения индексов. Несмотря на то что массив – это ряд чисел, в коде вы можете разделить строки и столбцы.
Карта, созданная Mappy, уже разделена на строки, а вот со столбцами сложнее, поскольку числа не выровнены. Если вы выровняете числа и заключите их в массив, то получится следующий Java-код:
int[] layerMap = {
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 21, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 22, 3,
3, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 18, 2, 2, 2, 5, 15, 15, 15, 15, 15, 15, 6, 2, 20, 3,
3, 18, 2, 2, 2, 7, 10, 1, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 14, 1, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 7, 10, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 14, 1, 1, 1, 1, 16, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 14, 1, 9, 10, 1, 16, 2, 20, 3,
3, 18, 2, 5, 15, 6, 2, 14, 1, 11, 12, 1, 16, 2, 20, 3,
3, 18, 2, 14, 1, 16, 2, 7, 13, 13, 13, 13, 8, 2, 20, 3,
3, 18, 2, 7, 13, 8, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 20, 3,
3, 23, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 24, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.
};Теперь в вашем распоряжении есть массив индексов, который можно использовать для создания карты в мобильной игре. Вне зависимости от того, создаете ли вы карту, рисуя ее карандашом на листе бумаги, или применяя Mappy, Tile Studio или другое программное обеспечение, в результате вы должны получить массив целых чисел, который представляет собой таблицу индексов. Если вы до сих пор испытываете трудности с пониманием назначения массива, посмотрите на рис. 10.9.