В копилку Игрока
Многие из популярных аркад оставались такими долгое время благодаря своей сложности. Сразу вспоминаются игры Joust и Defender в которые, несмотря на достаточно простой дизайн, не очень просто играть. Хотя вы можете переусердствовать и сделать игру чересчур сложной, многие игроки ценят трудности.
Вы можете догадаться, сколько изображений понадобится? Как показано ниже, в игре необходимо восемь растровых изображений:
► изображение информационной строки;
► фоновое изображение воды;
► фоновое изображение с элементами суши;
► изображение пиратского корабля (рис. 12.2);
Рис. 12.2. Изображение пиратского корабля состоит из четырех фреймов, нос корабля повернут в четырех различных направлениях
► изображение пирата (рис. 12.3);
► изображение бочки (рис. 12.4);
► изображение мины (рис. 12.5);
► изображение осьминога (рис. 12.6).
Первое изображение (информационная строка) – единственное, что может удивить в этом описании. Изображение информационной строки – это просто чистое изображение, служащее фоном. Два фоновых изображения – замощенные слои, имитирующие воду и сушу. В следующих двух разделах вы узнаете об этих изображениях подробнее.
В копилку Игрока
Информационная строка – это единственный элемент игры High Seas, который зависит от размеров экрана мобильного устройства (ширины). Чтобы масштабировать игру в зависимости от размеров экрана телефона, для информационной строки вы можете использовать или более широкое, или замощенное изображение. К счастью, больший размер экрана не повлияет на динамику игры, а лишь увеличит видимую область карты.
Остальные спрайтовые изображения используют фреймовую анимацию, что делает игру визуально интереснее. Например, спрайт пиратского корабля состоит из четырех фреймов, в каждом из которых нос корабля ориентирован в определенном направлении. Спрайты пирата, бочки и мин перемещаются по поверхности воды. Наконец, спрайт осьминога показывает свои щупальца, устрашая игрока.
Теперь, когда вы познакомились с большей частью графических объектов, используемых в игре, давайте рассмотрим остальные необходимые в игре элементы. Во-первых, очевидно, что необходимо следить за тем, сколько у корабля осталось энергии. Также нужно вести счет спасенных пиратов. Необходима булевская переменная, которая будет отслеживать, закончена ли игра. Итак, игра High Seas должна содержать средства контроля следующей информации:
► оставшаяся у корабля энергия;
► счет – число спасенных пиратов;
► логическая переменная, говорящая об окончании игры.
Теперь вы можете перейти к созданию карт слоев игры High Seas. Помните, что в игре необходимы и другие переменные, например, спрайты и проигрыватели, но приведенный список переменных отслеживает состояние игры и хранит необходимую информацию.
Создание водной карты
Как я объяснял ранее, в игре High Seas используются два различных замощенных слоя: слой воды и слой суши. Водяной слой – «пассивный» – он используется лишь как фон и не взаимодействует со спрайтами. Несмотря на это, в этом замощенном слое есть анимационные элементы, создающие иллюзию движения воды.
Подобно фоновому слою из мидлета Wanderer 2 из предыдущей главы, в этом слое не нужно задавать граничные элементы – это сделает слой суши. Поэтому края слоя воды – пустые элементы (рис. 12.7).
Рис. 12.7. В слое воды не нужны краевые элементы, поскольку они будут скрыты под слоем суши
Черная граница, которую вы видите вокруг замощенного слоя на рисунке – это прозрачная область, в которой не выводится никакая графика. Аналогично расположенные элементы в слое суши содержат изображения земли, которые препятствуют перемещению пиратского корабля. На самом деле, как вы увидите позже, часть водного слоя ограничена фрагментами суши. Ниже представлен код карты водного слоя: