Майкл Моррисон - Создание игр для мобильных телефонов

Тут можно читать онлайн Майкл Моррисон - Создание игр для мобильных телефонов - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Создание игр для мобильных телефонов
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.56/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Майкл Моррисон - Создание игр для мобильных телефонов краткое содержание

Создание игр для мобильных телефонов - описание и краткое содержание, автор Майкл Моррисон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга «Создание игр для мобильных телефонов» – это практическое руководство, которое поможет разработать и реализовать игру для мобильного телефона.

Книга написана простым языком, не содержит сложной и скучной теории программирования и шаг за шагом знакомит с методикой создания технологии «plug-and-play» применительно к созданию огромного количества игр.

В издание включены подробные описания и примеры кодов для четырех игр, а также информация, необходимая для реализации вашей собственной задумки.

Если вы любите играть в игры и занимаетесь программированием, то эта книга – для вас!

Перевод: К. Михалкин

Создание игр для мобильных телефонов - читать онлайн бесплатно ознакомительный отрывок

Создание игр для мобильных телефонов - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Майкл Моррисон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Начало новой игры

Несколько раз я уже упоминал о методе newGame() при обсуждении кода игры Space Out. В листинге 18.4 приведен код этого метода:

Листинг 18.4. Метод newGame() класса SOCanvas инициализирует игровые переменные и запускает музыку

private void newGame() {

// Initialize the game variables

gameOver = false;

score = 0;

carsLeft = 3;

// Initialize the player car sprite

playerSprite.setPosition(0, getHeight() – playerSprite.getHeight() – 10); //Поместить спрайт автомобиля в центре пустыни (по высоте)

playerSprite.setXSpeed(4);

playerSprite.setYSpeed(0);

playerSprite.setVisible(true);

// Initialize the alien and explosion sprites

for (int i = 0; i < 3; i++) { //При запуске игры пришельцы не видны

blobboSprite[i].setVisible(false);

jellySprite[i].setVisible(false);

timmySprite[i].setVisible(false);

explosionSprite[i].setVisible(false);

}

// Initialize the missile sprites

for (int i = 0; i < 10; i++) {

missileSprite[i].setVisible(false);

}

// Start the music (at the beginning)

try {

musicPlayer.setMediaTime(0);

musicPlayer.start();

}

catch (MediaException me) {

}

}

Метод newStart() начинается с инициализации трех основных переменных: gameOver, score и carsLeft. Спрайт игрока устанавливается в исходное положение и становится видимым – это необходимо сделать, поскольку спрайт скрывается по окончании игры. Все пришельцы, взрывы и ракеты в начале игры скрыты. Метод newGame() завершается запуском звукового проигрывателя, для чего вызываются методы setMediaTime() и start().

Добавление пришельцев, ракет и взрывов

Оставшаяся часть кода добавляет пришельцев, ракеты и взрывы. Этот код разделен на три метода, первый из которых – это addAlien(). В листинге 18.5 приведен код метода addAlien(), который отвечает за добавление пришельцев в игру.

Листинг 18.5. Метод addAlien() класса SOCanvas добавляет пришельца в игру

private void addAlien() {

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

// добавить Блоббо

case 0:

for (int i = 0; i < 3; i++) //Найти спрайт пришельца Блоббо, который еще не виден, изменить его положение и сделать видимым

if (!blobboSprite[i].isVisible()) {

placeSprite(blobboSprite[i]);

blobboSprite[i].setVisible(true);

break;

}

break;

// добавить Джелли

case 1:

for (int i = 0; i < 3; i++) //Если три спрайта пришельца Джелли уже видны, новый спрайт не будет добавлен

if (!jellySprite[i].isVisible()) {

placeSprite(jellySprite[i]);

jellySprite[i].setVisible(true);

break;

}

break;

// Добавить Тимми

case 2:

for (int i = 0; i < 3; i++)

if (!timmySprite[i].isVisible()) {

placeSprite(timmySprite[i]);

timmySprite[i].setVisible(true);

break;

}

break;

}

}
...

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

Метод placeSprite() вызывается addAlien(), его задача – вычислить случайное положение на игровом экране и поместить в него спрайт. Это вычисление помогает убедиться, что спрайт не будет помещен слишком низко, близко к спрайту автомобиля. Спрайт также размещается подальше от границ экрана, чтобы он сразу не столкнулся с одной из них. Код метода placeSprite() вы можете найти на прилагаемом компакт-диске в коде игры Space Out.

Этот метод случайным образом выбирает тип пришельца, а затем добавляет его спрайт в игру, для чего выполняются следующие шаги:

1. найти подходящий спрайт пришельца, который еще невидим;

2. спрайт помещается в случайное место;

3. показать спрайт.

Подобно тому, как добавляются спрайты пришельцев, метод addMissle() добавляет спрайты ракет. Однако этот метод отличается от addAlien() тем, что в него передается единственный параметр – спрайт, запускающий ракету, чтобы определить тип ракеты. В коде 18.6 приведен код метода addMIssle().

Листинг 18.6. Метод addMissle() класса SOCanvas добавляет ракету так, что создается впечатление, что она запущена спрайтом

private void addMissile(MovingSprite sprite) {

for (int i = 0; i < 10; i++)

if (!missileSprite[i].isVisible()) {

switch (Math.abs(sprite.getXSpeed())) { //Поскольку спрайты игрока и пришельцев имеют различные скорости по оси Х, вы можете использовать значение этой скорости для определения типа запускаемой ракеты

// запустить ракету Блоббо

case 3:

missileSprite[i].setFrame(1);

missileSprite[i].setPosition(sprite.getX() + 5, sprite.getY() + 21);

missileSprite[i].setXSpeed(sprite.getXSpeed() / 2);

missileSprite[i].setYSpeed(5);

break;

// запустить ракету Джелли

case 1:

missileSprite[i].setFrame(2);

missileSprite[i].setPosition(sprite.getX() + 5, sprite.getY() + 21);

missileSprite[i].setXSpeed(0);

missileSprite[i].setYSpeed(4);

break;

// запустить ракету Тимми

case 5:

missileSprite[i].setFrame(3); //Каждый фрейм анимации – это определенный тип ракеты

missileSprite[i].setPosition(sprite.getX() + 5, sprite.getY() + 11);

missileSprite[i].setXSpeed(sprite.getXSpeed() / 2);

missileSprite[i].setYSpeed(3);

break;

// запустить ракету игрока

case 2:

case 4:

missileSprite[i].setFrame(0);

missileSprite[i].setPosition(sprite.getX() + 6, sprite.getY() – 11);

missileSprite[i].setXSpeed(0);

missileSprite[i].setYSpeed(-4);

break;

}

// показать ракету

missileSprite[i].setVisible(true);

break;

}

}

Метод addMissle()принимает спрайт игрока в качестве единственного параметра, создается эффект запуска ракеты указанным спрайтом.

Основная хитрость этого метода – определение типа запускаемой ракеты. Необходим простой и надежный метод определения типа спрайта, запускающего ракету. Хитрость заключается в том, чтобы проверять скорость Х спрайта, поскольку каждый спрайт имеет уникальное значение этой составляющей скорости. Следовательно, оператор условного перехода switch использует именно эту величину для определения типа добавляемой ракеты.

Процесс добавления ракеты содержит следующие этапы:

1. найти подходящий спрайт, который еще невидим;

2. выбрать нужный фрейм спрайтового изображения;

3. поместить ракету в точку, находящуюся рядом с запускающим спрайтом;

4. установить скорость ракеты в зависимости от ее типа;

5. показать ракету.

И наконец, мы подходим к последнему методу игры Space Out, очень похожему на рассмотренные ранее методы addAlien() и addMissle(). В листинге 18.7 приведен код метода addExplosion().

Листинг 18.7. Метод addExplosion() класса SOCanvas добавляет взрыв при разрушении спрайта

private void addExplosion(MovingSprite sprite) {

for (int i = 0; i < 3; i++)

if (!explosionSprite[i].isVisible()) {

// Add an explosion where the moving sprite is located

explosionSprite[i].setFrame(0); //Проверка, что анимация взрыва начинается с первого фрейма

explosionSprite[i].setPosition(sprite.getX(), sprite.getY());

explosionSprite[i].setVisible(true);

break;

}

}

Этот метод добавляет спрайт взрыва на место указанного спрайта игрока или пришельца. Ниже перечислены шаги, выполняемые при добавлении спрайта взрыва:

1. найти подходящий спрайт взрыва, который еще не задействован;

2. установить номер первого фрейма анимации – 0;

3. разместить спрайт взрыва в центре уничтоженного спрайта;

4. показать взрыв.

Метод addExplosion() завершает код игры Space Out. Я представляю, что к разработке кода были приложены титанические усилия, но следующий раздел вознаградит ваши старания!

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

Я уже много раз говорил, что тестирование – это один из самых веселых этапов тестирования игры, а теперь вы подошли к тестированию совершенно новой игры. Подобно игре High Seas, игра Space Out требует значительного времени на тестирование из-за большого числа взаимодействий игровых спрайтов. Самое хорошее, что для тестирования надо просто поиграть в Space Out. На рис. 18.9 показано начало игры, пришелец запускает ракету, автомобиль отвечает огнем.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Майкл Моррисон читать все книги автора по порядку

Майкл Моррисон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Создание игр для мобильных телефонов, автор: Майкл Моррисон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x