Майкл Моррисон - Создание игр для мобильных телефонов
- Название:Создание игр для мобильных телефонов
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Майкл Моррисон - Создание игр для мобильных телефонов краткое содержание
Книга «Создание игр для мобильных телефонов» – это практическое руководство, которое поможет разработать и реализовать игру для мобильного телефона.
Книга написана простым языком, не содержит сложной и скучной теории программирования и шаг за шагом знакомит с методикой создания технологии «plug-and-play» применительно к созданию огромного количества игр.
В издание включены подробные описания и примеры кодов для четырех игр, а также информация, необходимая для реализации вашей собственной задумки.
Если вы любите играть в игры и занимаетесь программированием, то эта книга – для вас!
Перевод: К. Михалкин
Создание игр для мобильных телефонов - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
// изменить отображаемый фрейм астероида
if (i == 1) //Индекс астероида определяет направление анимации
roidSprite[i].prevFrame();
else
roidSprite[i].nextFrame();
// проверить столкновение НЛО с астероидом
if (ufoSprite.collidesWith(roidSprite[i], true)) { //Поскольку второй параметр метода collidesWith() равен true, то выполняется пиксельное детектирование столкновения
// воспроизвести предупреждающий звук
AlertType.ERROR.playSound(display);
// восстановить исходные положения и скорости объектов
ufoSprite.setPosition((getWidth() – ufoSprite.getWidth()) / 2,
(getHeight() – ufoSprite.getHeight()) / 2);
ufoXSpeed = ufoYSpeed = 0;
for (int j = 0; j < 3; j++)
roidSprite[j].setPosition(0, 0);
// нет необходимости обновлять спрайты астероидов
break;
}
}
}
private void draw(Graphics g) {
// Clear the display
g.setColor(0x000000);
g.fillRect(0, 0, getWidth(), getHeight());
// нарисовать спрайт НЛО
ufoSprite.paint(g);
// нарисовать спрайты астероидов
for (int i = 0; i < 3; i++)
roidSprite[i].paint(g);
// отобразить содержимое буфера на экране
flushGraphics();
}
private void checkBounds(Sprite sprite) {
// проверить положение спрайта
if (sprite.getX() < -sprite.getWidth())
sprite.setPosition(getWidth(), sprite.getY());
else if (sprite.getX() > getWidth())
sprite.setPosition(-sprite.getWidth(), sprite.getY());
if (sprite.getY() < -sprite.getHeight())
sprite.setPosition(sprite.getX(), getHeight());
else if (sprite.getY() > getHeight())
sprite.setPosition(sprite.getX(), -sprite.getHeight());
}
}Вы уже знакомы со всеми тонкостями этого кода, поэтому я избавлю вас от дальнейших рассуждений. Давайте посмотрим, как он работает.
Тестирование приложения
Тестировать мидлет UFO 2 намного интереснее, чем все предыдущие приложения, поскольку теперь вы можете управлять летающим объектом. На рис. 6.4 показан мидлет UFO 2.
Рис. 6.4. В мидлете UFO 2 вы можете управлять летающим объектом и сталкиваться с астероидами
Нетрудно заметить в этом примере отголоски игры вроде Asteroids. Поиграйте в игру, обратите внимание на то, как детектируются столкновения. Удивительно, как, используя данные изображений, можно определять столкновения с большой степенью точности. Вы можете аккуратно огибать астероиды на очень небольших расстояниях.
Резюме
Эффективное взаимодействие игрока с приложением – это критический фактор при разработке игр. Разработчику очень важно тщательно проработать пользовательский ввод, чтобы он был максимально эффективным в условиях ограниченного пользовательского интерфейса мобильного устройства. В этой главе шла речь о том, как обрабатывать ввод с клавиатуры мобильного устройства – это удивительно просто. Вы также узнали, как детектировать столкновения спрайтов и использовать фреймовую анимацию. Хотя, несомненно, пример UFO 2, созданный в этой главе, можно улучшить, он сочетает в себе все элементы разработки мобильной игры.
В следующей главе вы непосредственно окунетесь в мир программирования мобильных игр и создадите первую мобильную игру Henway, которая во многом похожа на классическую аркаду Frogger.
Еще немного об играх
Пора сделать что-то действительно креативное! Я хочу, чтобы вы добавили еще один анимационный спрайт в мидлет UFO 2. Это может быть спутник, странный пришелец или комета, бороздящая космические просторы, – все, что захотите. Ниже приведено пошаговое описание, как это сделать:
1. нарисуйте или получите каким-либо другим способом изображение, состоящее из нескольких фреймов;
2. создайте член-переменную класса UFOCanvas, в которой будут храниться несколько экземпляров спрайта;
3. в методе start() мидлета загрузите изображение;
4. в методе start() создайте объекты типа Sprite новых спрайтов, не забудьте при инициализации каждого передать соответствующее изображение;
5. создайте код, обновляющий положение новых спрайтов, в методе update() проверяйте их положение на экране. Если вы хотите определять столкновения между созданными спрайтами и любыми другими спрайтами, то смело делайте это в методе update().
6. в методе draw() добавьте код, выполняющий рисование спрайтов.
Хотя для добавления спрайта в мидлет требуется выполнить несколько шагов, это не очень сложно. Уверен, что это упражнение послужит вам на пользу, потому как вам придется более глубоко проникнуть в код и поэкспериментировать, изменяя его.Глава 7 Henway: дань игре Frogger
Архив Аркад
Выпущенная в 1980 году компанией Midway игра Rally-X была очень популярной, она представляла собой гонки в лабиринте. Вы управляете небольшим автомобилем по лабиринту, избегая столкновения с другими автомобилями. Интересный элемент игры Rally-X – это дымовая завеса, которую может выпускать автомобиль и временно нейтрализовать автомобили противника. Однако такая завеса требует дополнительного расхода топлива, поэтому, применяя ее, надо быть осторожным, – очень интересная находка в игре. Другая особенность X-Rally – это уменьшенная карта, на которой вы можете отслеживать свое положение, положение других автомобилей, а также флаги, которые необходимо собрать.
Вы потратили много времени, изучая программирование мидлетов и методов создания игр. Но пока вы еще не создали ни одной полноценной игры. В этой главе вы создадите свою первую игру, для этого вам потребуется применить все полученные знания о спрайтах. Игра Henway использует несколько спрайтов и все их возможности, о которых вы узнали в предыдущих главах. Эта игра во многом похожа на классическую игру Frogger, она является значительным этапом на пути постижения искусства программирования мобильных игр. Эту игру вы можете использовать как основу для создания собственных.
В этой главе вы узнаете:
► почему полезно моделировать мобильные игры на основе классических аркад;
► как разработать игру Henway, аналог классической игры Frogger;
► как написать код игры Henway;
► почему тестирование игры – это неотъемлемая часть процесса проектирования.
Об игре Henway
В оригинальной аркаде Frogger целью было перевести лягушку через шоссе и реку. На пути лягушки встречались преграды: автомобили, волны и крокодилы – это лишь часть из них. Лягушка должна была перейти целой и невредимой из нижней части экрана в верхнюю. С увеличением числа переправленных лягушек, возрастает и сложность игры – автомобили ускоряются, добавляются новые препятствия. Несмотря на то что по современным игровым стандартам Frogger – очень простая игра, это хороший пример классической игры, в которую весело играть. Поэтому эта игра как нельзя лучше подходит для создания собственной, немного фантазии – и готов новый игровой шедевр!
В копилку Игрока
Если вы удивлены моим подходом, то поймите, что я вовсе не призываю к тому, чтобы создавать игры на основе старых. Просто я обнаружил, что популярные игры прошлого могут дать хорошие идеи для создания новых. Сегодня многие пытаются создавать игры по мотивам популярных фильмов, но не каждый захочет разыгрывать драматический сюжет, особенно на экране мобильного телефона. В большинстве случаев люди предпочитают играть в простые игры, а следовательно, для этого как нельзя лучше подходят проверенные временем классические игры.
Интервал:
Закладка: