//вывести текущее положение фонового слоя
String s = "X = " + backgroundLayer.getX() + ", Y = " + backgroundLayer.getY();
g.drawString(s, 0, 0, Graphics.TOP | Graphics.LEFT);
Следует отметить, что такой же подход вы можете использовать для вывода любой необходимой информации. Например, можно отобразить текущую скорость или положение спрайта, который ведет себя не так, как вы предполагали.
Тестирование готового приложения
Когда весь код мидлета Wanderer написан, пора приступать к тестированию. Посмотрите на рис. 10.12, на котором показан экран при запуске игры.
Рис. 10.12. При запуске мидлета Wanderer герой появляется в центре карты
Герой находится в центре экрана и в центре игрового мира (карты). Если вы вспомните программный код, то персонаж никогда не уходит со своего места, перемещается лишь фоновый слой, создавая иллюзию ходьбы героя. Когда вы нажимаете клавиши в J2ME-эмуляторе или на клавиатуре телефона, замощенный слой перемещается, выводя на экран новые фрагменты карты. В результате персонаж перемещается по виртуальному миру (рис. 10.13).
Рис. 10.13. В игре Wanderer персонаж остается неподвижным, а фоновый слой перемещается
Так же, как и в реальном мире, виртуальный мир в Wanderer имеет границы. Соответствующий код в программе тщательно проверяет, не достиг ли герой края карты, и если да, то фоновый слой далее перемещаться не будет – графика застынет. В играх, в которых применяются замощенные слои, очень важно выполнять такие проверки и запрещать дальнейшее перемещение. В мидлете Wanderer используется первый подход. Результат показан на рис. 10.14.
Рис. 10.14. Мидлет Wanderer достаточно умен, чтобы позволить вам выйти за границы виртуального мира
...
В копилку Игрока
Да, конечно, Вселенная безгранична, однако карты, созданные людьми, имеют границы. А карты для замощенных слоев – не исключение.
Хотя этот мидлет – не совсем игра, вы могли бы поспорить, что Wanderer – это одна из самых интересных программ, которую вы уже видели в этой книге. Изменяющийся мир, по которому вы можете перемещаться, – это значительный шаг на пути перевода мобильных игр на новый уровень.
Резюме
До сих пор вы, вероятно, думали, что игровая графика – это фон и спрайты. Вы не могли представить, что графику можно построить из отдельных блоков. Теперь вы имеете представление о замощенных слоях и о том, как их применять для создания игровой графики, состоящей из сравнительно небольших элементов. Замощенные слои хороши не только тем, что их можно создавать динамически, но также тем, что они требуют очень мало ресурсов. Поскольку такое свойство очень критично для мобильных игр, их целесообразно применять, когда вы будете создавать собственные игры.
В следующей главе вы продолжите знакомство с игровыми слоями, изучите работу с менеджером MIDP, который предоставляет эффективные средства управления слоями, как единым объектом. До сих пор вы сами управляли слоями, но менеджер слоев значительно облегчит вашу жизнь.
Экскурсия
Я никогда не думал о том, что я буду рекомендовать в книге о создании игровых мидлетов сшивать что-то из отдельных кусочков. Недавно я наткнулся на статью, в которой рассказывалось, что вдова военного разрезала одежду своего мужа на кусочки и сшила лоскутное одеяло. Это был единственный способ оставить память о муже и избавиться от его вещей. Я подумал, что процесс создания замощенного слоя очень похож на пошив одеяла из лоскутков. Если у вас, вашего друга или родственника есть лоскутное одеяло, обязательно посмотрите, какая уникальная композиция составлена из маленьких кусочков. А потом представьте, как могло бы выглядеть одеяло, если расположить кусочки несколько иначе. Это – сила замощенных слоев!
Глава 11 Управление игровыми слоями
...
Архив Аркад
Один из самых популярных сиквелов игр в истории Donkey Kong Junior – это переложение спортивных тем на сюжет знаменитой игры Donkey Kong. Выпущенная в 1982 году компанией Nintendo игра Donkey Kong Junior предлагает вам помочь маленькой горилле (Junior) спасти отца (Donkey Kong) от рук злого Марио (Mario). Donkey Kong Junior выделяется среди игр компании Nintendo тем, что в ней Марио – отрицательный герой. Также Donkey Kong Junior – это вторая игра в трилогии Donkey Kong, в которой Donkey Kong и Donkey Kong 3 – это начало и окончание соответственно.
Замощенные слои открывают новые возможности для мобильных игр. Как только вы начали использовать замощенные слои и спрайты, которые тоже являются слоями, управлять ими стало намного сложнее. Сложно контролировать то, какой слой должен быть нарисован поверх остальных, и каков порядок их отображения. К счастью, в MIDP API предусмотрен специальный класс, разработанный для работы со слоями в мобильной игре. Я говорю о классе LayerManager, который полезно использовать для автоматизации некоторых задач при работе с несколькими слоями. В этой главе вы не только изучите работу с классом LayerManager, но и доработаете игру Wanderer, сделаете ее намного интереснее.
Читать дальше
Конец ознакомительного отрывка
Купить книгу