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

Конструктор DriftSprite вызывает родительский конструктор Sprite, создающий основной спрайт, а затем инициализирует специальные переменные класса DriftSprite.

Метод update – это интересная часть кода класса DriftSprite. В листинге 12.2 приведен код этого метода.

Листинг 12.2. Метод update класса DriftSprite перемещает Sprite в произвольном направлении и определяет столкновение со слоем-барьером

public void update {

// временно сохранить положение

int xPos = getX;

int yPos = getY;

// переместить спрайт случайным образом, чтобы создать иллюзию дрейфа

switch (Math.abs(rand.nextInt % 4)) {

// переместить влево

case 0:

move(-speed, 0);

break;

// переместить вправо

case 1:

move(speed, 0);

break;

// переместить вверх

case 2:

move(0, -speed);

break;

// переместить вниз

case 3:

move(0, speed);

break;

}

// проверить столкновение со слоем-барьером

if ((barrier != null) && collidesWith(barrier, true)) { //Если в новом положении детектировано столкновение, то необходимо вернуть спрайт в предыдущее положение

// переместить спрайт в исходное положение

setPosition(xPos, yPos);

}

// перейти к следующему фрейму анимации спрайта

nextFrame;

}

Метод update начинается с того, что сохраняется положение спрайта, поскольку эта информация может понадобиться позже, если произойдет столкновение спрайта со слоем-барьером. Затем спрайт случайным образом перемещается в одном из четырех возможных направлений: вверх, влево, вправо или вниз. Фрагмент кода в конце метода update проверяет столкновение спрайта со слоем-барьером, чтобы убедиться, что значение barrier отлично от null. Этот код позволяет ограничивать перемещение спрайтов. Если определено столкновение, то спрайт возвращается в положение, предшествующее смещенному.

...

Совет Разработчику

Если значение переменной barrier равно null, то спрайт будет ограничен в методе update. Иначе говоря, вы можете создать свободно перемещающиеся спрайты, для чего конструктору DriftSpriteдостаточно передать значение null. Если бы вы захотели добавить в игру High Seas птицу или летающего противника, вероятно, вы бы поступили именно так, ведь для такого объекта земля – не помеха.

Последний фрагмент кода update класса дрейфующих спрайтов – вызов метода nextFrame, который просто изменяет текущий фрейм анимации. Помните, что вы можете создавать спрайты и без анимации, в этом случае вызов nextFrame ничего не изменит.

Новый удобный класс DriftSprite готов к использованию, поэтому можно перейти к рассмотрению кода самой игры. Давайте начнем с переменных.

Объявление переменных класса

Код игры High Seas начинается с установки холста HSCanvas, т. к. этот класс отвечает за всю игровую логику. Поскольку он достаточно большой, мы рассмотрим этот класс по частям. Полный код вы найдете на прилагающемся компакт-диске. Ниже приведены переменные, объявленные в классе холста:

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

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

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

Рассказывается о работе в операционной системе 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 / Словари и Энциклопедии