Читаем Создание игр для мобильных телефонов полностью

Метод newGame начинается с инициализации трех основных игровых переменных. Обратите внимание, что значение переменной energy равно максимально возможному значению 45. Затем спрайт игрока становится видимым, для чего вызывается метод setVisible. Это необходимо потому, что при окончании игры спрайт пиратского корабля исчезает с экрана. Спрайт игрока помещается в случайное место на карте, для чего вызывается метод placeSprite. В соответствии с этим изменяется положение окна вида таким образом, чтобы спрайт оказался в центре окна. В конце вызовом методов setMediaTime и start начинается воспроизведение музыки.

Безопасное размещение спрайтов

Я могу понять, если вы устали, но я обещаю, что это последний фрагмент кода игры High Seas, который мы посмотрим. В листинге 12.5 приведен полный код метода placeSprite, который отвечает за размещение спрайта в произвольной точке игровой карты.

Листинг 12.5. Метод placeSprite класса HSCanvas помещает спрайт в произвольную точку карты так, чтобы он не совпадал со слоем – барьером

private void placeSprite(Sprite sprite, TiledLayer barrier) {

// попробовать поместить в произвольную точку

sprite.setPosition(Math.abs(rand.nextInt % barrier.getWidth) – //Спрайт помещается случайным образом

sprite.getWidth, Math.abs(rand.nextInt % barrier.getHeight) -

sprite.getHeight);

// перемещать, пока не будет столкновения

while (sprite.collidesWith(barrier, true)) { //Проверить столкновение спрайта со слоем-барьером, продолжать перемещение спрайта до тех пор, пока он не столкнется со слоем-барьером

sprite.setPosition(Math.abs(rand.nextInt % barrier.getWidth) -

sprite.getWidth, Math.abs(rand.nextInt % barrier.getHeight) -

sprite.getHeight);

}

}

Вы можете подумать, что разместить спрайт в произвольном месте на игровой карте – это просто получить несколько случайных чисел и более ничего. Помните, что на карте есть области, в которых не имеет смысла размещать бочку или осьминога… Я говорю о суше! Иначе говоря, важно разместить спрайт не только произвольно, но и грамотно. В результате, размещая спрайт, вы должны проверять, не попадает ли он на фрагмент суши.

Чтобы «безопасно» разместить спрайт случайным образом, необходимо проверить его столкновение со слоем-барьером. Если столкновение произошло, то необходимо попробовать другое положение. Такую проверку и размещение удобно выполнять в цикле до тех пор, пока не будет найдено подходящее место. Вы можете сказать, что этот код небезопасен, потому что выполнение цикла может не закончиться. Однако на карте достаточно свободного места, поэтому такой проблемы не возникнет.

Тестирование игры

Перейдем к тестированию игры. На рис. 12.12 показан старт игры. В этом запуске игры пират находится рядом с кораблем.

Рис. 12.12. Хорошее начало, пиратский корабль готов к спасательной миссии

После того как пират спасен, его спрайт исчезает с экрана, а счетчик спасенных пиратов увеличивается на 1 (рис. 12.13).

Рис. 12.13. Первый пират спасен – его спрайт исчез с карты, а счетчик спасенных пиратов увеличился на 1

В игре вы рано или поздно столкнетесь с другими спрайтами – минами, бочками и осьминогами (рис. 12.14).

Рис. 12.14. Дрейфующие мины и бочки – это противоположные объекты в игре. Первые отнимают энергию, вторые – прибавляют

Перейти на страницу:

Похожие книги

С компьютером на ты. Самое необходимое
С компьютером на ты. Самое необходимое

Рассказывается о работе в операционной системе Windows (на примере версий XP и 7), текстовом редакторе Word 2010 и других приложениях, необходимых каждому пользователю: архиваторах, антивирусах и программах для просмотра видео и прослушивания музыки (Winamp, QuickTime Pro). Большое внимание уделяется работе в Интернете. Рассказывается о программах для просмотра Web-страниц, об электронной почте, а также о различных полезных приложениях для работы в сети — менеджерах закачек файлов, ICQ, Windows Live Messenger, MSN и многих других. Во втором издании рассмотрена новая ОС — Windows 7, а также последние версии приложений для пользователей.Для начинающих пользователей ПК.

Андрей Александрович Егоров , Андрей Егоров

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
От «кирпича» до смартфона
От «кирпича» до смартфона

Перед вами уникальное исследование мира мобильной индустрии, превращенное его автором Эльдаром Муртазиным, ведущим аналитиком Mobile Research Group и главным российским специалистом по мобильным телефонам, в захватывающий бизнес-триллер. Гигантские компании — Nokia, Motorola, Samsung бросают на мобильный фронт колоссальные силы, создают альянсы, охотятся за лучшими специалистами, шпионят друг за другом. Разработки ведутся в обстановке строжайшей секретности. Цель — выпустить на рынок новую, уникальную модель раньше конкурентов или даже полностью изменить наше представление о мобильном телефоне, как это недавно удалось Apple со своим iPhone.Эта книга предназначена для тех, кто видит в мобильном телефоне не просто средство связи, а чудо инженерной мысли, смелое воплощение дизайнерских фантазий, символ нашей эпохи.

Эльдар Викторович Муртазин , Эльдар Муртазин

Справочная литература / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии