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

Здесь есть возможность читать онлайн «Майкл Моррисон - Создание игр для мобильных телефонов» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Создание игр для мобильных телефонов: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Создание игр для мобильных телефонов»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга «Создание игр для мобильных телефонов» – это практическое руководство, которое поможет разработать и реализовать игру для мобильного телефона.
Книга написана простым языком, не содержит сложной и скучной теории программирования и шаг за шагом знакомит с методикой создания технологии «plug-and-play» применительно к созданию огромного количества игр.
В издание включены подробные описания и примеры кодов для четырех игр, а также информация, необходимая для реализации вашей собственной задумки.
Если вы любите играть в игры и занимаетесь программированием, то эта книга – для вас! Перевод: К. Михалкин

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Создание игр для мобильных телефонов», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Другое, но очень важное изменение метода start() игры Space Out 2 касается работы метода в случае ранее наступившего окончания игры. В исходной версии игры Space Out игра начинается сразу при запуске мидлета.

В игре Space Out 2 заставка и список рекордов отображаются при первом запуске игры. Иначе говоря, игра Space Out 2 начинается в режиме «окончания игры». Поэтому в методе start() больше не вызывается метод newGame(), а переменной gameOver присваивается значение true:

gameOver = true;

Подобно тому, как список рекордов считывается в методе start(), он записывается в методе stop():

writeHiScores();

Метод writeHiScores() записывает целочисленный массив в хранилище записей. В листинге 19.2 приведен код этого метода: Листинг 19.2. Метод writeHiScores() записывает целочисленный массив HiScores в хранилище данных

private void writeHiScores()

{

// удалить предыдущее хранилище записей

try {

RecordStore.deleteRecordStore("HiScores"); //Сначала удаляется хранилище записей

}

catch (Exception e) {

}

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

RecordStore rs = null;

try {

rs = RecordStore.openRecordStore("HiScores", true); //Значение true говорит о том, что если хранилище записей с указанным именем не будет найдено, то будет создано новое хранилище

}

catch (Exception e) {

System.err.println("Failed creating hi score record store!");

}

// записать рекорды

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

// подготовить данные для записи

byte[] recordData = Integer.toString(hiScores[i]).getBytes(); //Преобразовать целое число в массив байтов, чтобы записать его в хранилище

try {

// записать данные в хранилище

rs.addRecord(recordData, 0, recordData.length);

}

catch (Exception e) {

System.err.println("Failed writing hi scores!");

}

}

// закрыть хранилище

try {

rs.closeRecordStore();

}

catch (Exception e) {

System.err.println("Failed closing hi score record store!");

}

}

Метод writeHiScores() использует уникальную методику записи рекордов. Вместо того чтобы заменить отдельную запись в хранилище, заменяется все хранилище целиком. Хотя такой подход может показаться грубым, он значительно упрощает код игры. Это и объясняет, почему в начале метода writeHiScores() удаляется хранилище записей.

После того как хранилище записей удалено, метод writeHiScores() создает новое хранилище, для чего вторым параметром при вызове метода openRecordStore() передается true. Затем выполняется цикл по всем элементам массива hiScores, каждый из элементов записывается в хранилище. Когда все рекорды записаны, хранилище закрывается, для чего вызывается метод closeRecordStore().

Вы создали код, считывающий список рекордов в начале игры, и записывающий список в хранилище по окончании игры. Но я не упомянул о том, как обновляется список рекордов. При окончании игры метод update() вызывает метод updateHiScores(), обновляющий список рекордов:

if (carsLeft– == 0) {

// остановить музыку

try {

musicPlayer.stop();

}

catch (MediaException me) {

}

// воспроизвести звук окончания игры

try {

gameoverPlayer.start();

}

catch (MediaException me) {

}

// спрятать спрайт автомобиля

playerSprite.setVisible(false);

// обновить список рекордов

updateHiScores(); //Вызов метода updateHiScores() – это все, что необходимо для обновления списка рекордов

gameOver = true;

return;

}

Метод updateHiScores() – это вспомогательный метод, который проверяет, попадает ли результат игрока в список рекордов. Если да, то он добавляет этот результат, удаляя наименьший рекорд. В листинге 19.3 приведен код этого метода. Листинг 19.3. Метод updateHiScores() обновляет список рекордов

private void updateHiScores() {

// проверить, попадает ли результат игрока в список рекордов

int i;

for (i = 0; i < 5; i++)

if (score > hiScores[i]) //Если счет больше, чем текущий рекорд, то поместить результат игры в список рекордов

break;

// поместить результат в список рекордов.

if (i < 5) {

for (int j = 4; j > i; j–) { //Цикл смещает меньшие результаты в конец списка рекордов

hiScores[j] = hiScores[j – 1];

}

hiScores[i] = score;

}

}

Метод updateHiScores() сначала проверяет, попадает ли результат, набранный игроком, в список рекордов. Если да, то он добавляется в список рекордов, при этом наименьший результат удаляется из списка. В списке рекордов содержится не более 5 записей, поэтому прежние рекорды уступают место новым. Помните, что список рекордов временно хранится в памяти телефона, пока игра существует, данные не будут помещены в хранилище, если не будет вызван метод stop().

Последнее необходимое изменение кода игры Space Out 2 касается метода draw(), который будет выводить список рекордов на игровой заставке. В листинге 19.4 приведен код метода draw().

Листинг 19.4. Метод draw() выводит заставку и список рекордов по окончании игры

private void draw(Graphics g) {

// вывести фоновое изображение звездного неба

g.drawImage(background, 0, 0, Graphics.TOP | Graphics.LEFT);

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

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Создание игр для мобильных телефонов» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

Обсуждение, отзывы о книге «Создание игр для мобильных телефонов» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x