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

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

Вы с легкостью можете объединить классы ChaseSprite и DriftSprite в один многофункциональный класс. На самом деле класс ChaseSprite уже на 90 % выполняет функции класса DriftSprite. Одно значительное отличие заключается в диапазоне случайных чисел, используемых для перемещения спрайта. Чтобы облегчить восприятие, я решил оставить эти классы отдельно. Однако с точки зрения будущих разработок, полезно объединить их в один класс.

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

Вот и все, что касается кода класса ChaseSprite. Несомненно, вы готовы к тому, чтобы увидеть этот класс в действии. Оставшаяся часть главы посвящена модификации игры High Seas, разработанной в предыдущей главе. Здесь вы придадите игре немного интеллектуальности через класс ChaseSprite.

Создание игры High Seas 2

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

Если вы вспомните, то в игре есть мины и осьминоги. Поскольку мины – это неживые объекты, то нет особого смысла давать им возможность преследовать игрока. А иметь лишь один тип преследующих спрайтов (осьминоги), как мне кажется, не сделает игру интереснее. Поэтому хороший способ улучшить игру – это добавить еще один преследующий спрайт. Я говорю о спрайте большого пиратского корабля, который перемещается медленнее осьминогов, но постоянно преследует корабль игрока. На рис. 13.5 показано изображение этого корабля. Как вы видите, спрайт корабля – это направленный спрайт.

Рис. 13.5. Пиратский корабль противника – это направленный спрайт, состоящий из четырех фреймов, нос корабля указывает в четыре разные стороны

Подобно кораблю игрока, изображение вражеского корабля состоит из четырех фреймов, каждый из которых соответствует определенному направлению движения. К счастью, вы знаете, что класс ChaseSprite с легкостью работает с направленными спрайтами, поэтому внедрение корабля противника в игру High Seas 2 не представляет никакой сложности.

Перед тем как приступить к изменению кода, давайте посмотрим, что сделает этот вариант игры интереснее предыдущего:

► спрайты осьминогов будут преследовать игрока;

► добавить спрайт корабля, который также будет преследовать игрока.

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

Написание программного кода

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

private ChaseSprite[] squidSprite = new ChaseSprite[5]; private ChaseSprite enemyShipSprite;

Изменяя класс спрайта осьминога, вы также должны изменить и код его инициализации, предоставив необходимую информацию конструктору класса ChaseSprite. Приведенный ниже код добавлен в метод strat() класса HSCanvas:

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

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

1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных
iOS. Приемы программирования
iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Вандад Нахавандипур

Программирование, программы, базы данных / Программирование / Книги по IT