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

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

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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

ufoYSpeed = Math.min(Math.max(ufoYSpeed, -8), 8);

// переместить спрайт НЛО

ufoSprite.move(ufoXSpeed, ufoYSpeed);

checkBounds(ufoSprite);

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

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

// переместить спрайт астероида

roidSprite[i].move(i + 1, 1 – i);

checkBounds(roidSprite[i]);

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

if (i == 1)

roidSprite[i].prevFrame();

else

roidSprite[i].nextFrame();

// проверить столкновение между НЛО и астероидом

if (ufoSprite.collidesWith(roidSprite[i], true)) {

// воспроизвести звук столкновения

try {

Manager.playTone(ToneControl.C4 – 12, 500, 100); //Воспроизвести низкий звук в течение половины секунды на полной громкости при столкновении

}

catch (Exception e) {

}

// восстановить начальное положение НЛО и его скорость

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;

}

}

}

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

Метод initTune() отвечает за инициализацию тоновой последовательности в мидлете UFO 3 (листинг 8.3).

Листинг 8.3. Метод initTune() в классе UFOCanvas инициализирует тоновую последовательность

private void initTune() {

byte tempo = 30; // 120bpm //Установить темп и длину нот

byte d4 = 16; // 1/4 ноты

byte d2 = 32; // 1/2 ноты

byte C4 = ToneControl.C4; //Определить последовательность нот на основании С4, а также тишину

byte A6 = (byte)(C4 + 21);

byte B6 = (byte)(C4 + 23);

byte G5 = (byte)(C4 + 19);

byte G4 = (byte)(C4 + 7);

byte D5 = (byte)(C4 + 14);

byte rest = ToneControl.SILENCE;

byte[] encountersSequence = {

ToneControl.VERSION, 1,

ToneControl.TEMPO, tempo,

ToneControl.BLOCK_START, 0,

A6,d4, B6,d4, G5,d4, G4,d4, D5,d2, rest,d2, //Мелодия из фильма «Близкие контакты»

ToneControl.BLOCK_END, 0,

ToneControl.PLAY_BLOCK, 0,

ToneControl.PLAY_BLOCK, 0,

};

try {

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

tonePlayer = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);

tonePlayer.realize();

// создать тоновый проигрыватель и установить тоновую последовательность

ToneControl toneControl = (ToneControl)tonePlayer.getControl("ToneControl");

toneControl.setSequence(encountersSequence);

}

catch (IOException ioe) {

}

catch (MediaException me) {

}

}

Этот метод начинается с объявления ряда важных переменных, которые будут использоваться для описания тоновой последовательности. Затем аккуратно задается байтовый массив тоновой последовательности. Целесообразно сказать, что эта последовательность – мелодия из фильма «Близкие контакты третьего рода» («Close Encounters of the Third Kind»), в котором инопланетяне для контакта с людьми использовали эту мелодию. Пять нот повторяются дважды в байтовом массиве encounterSequence. На рис. 8.3 показана тема из «контактов» в виде тоновой последовательности encounterSequence.

Рис. 8.3. Простая мелодия из кинофильма «Близкие контакты третьего рода» закодирована в виде тоновой последовательности

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

Метод playTune() воспроизводит тоновую последовательность, а метод cleanupTune() закрывает проигрыватель. В листинге 8.4 показаны эти два метода.

Листинг 8.4. Методы playTune() и cleanupTune() класса UFOCanvas соответственно воспроизводят и очищают тоновую последовательность

private void playTune() {

try {

// воспроизвести тоновую последовательность

tonePlayer.start();

}

catch (MediaException me) {

}

}

private void cleanupTune() {

// закрыть тоновый проигрыватель

tonePlayer.close();

}

Как вы видите, метод playTune() воспроизводит тоновую последовательность, для чего вызывается метод start() тонового проигрывателя. А вызов метода проигрывателя close() – это все, что необходимо, чтобы закрыть проигрыватель и очистить тоновую последовательность.

Полный код мидлета UFO вы можете найти на прилагаемом CD. Я выборочно осветил важные фрагменты, поэтому вам не придется пролистывать страницы уже знакомого вам кода.

Тестирование приложения

Тестирование мидлета UFO 3 включает в себя тестирование динамиков и запуск мидлета в эмуляторе J2ME. Я бы хотел показать вам кадр из игры, где воспроизводится музыкальная тема и проигрывается тон во время столкновения, но, к сожалению, технология печати не достигла пока таких высот. Поэтому вам придется запустить мидлет и самим послушать тоны.
...

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

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

Тестируя UFO 3, обратите внимание на звук, когда мидлет воспроизводит несколько звуков одновременно. Если говорить о реальных играх, то это обычная ситуация, поэтому убедитесь, что тоны воспроизводятся корректно. Если у вас под рукой есть мобильный телефон, поддерживающий стандарт MIDP 2.0, то протестируйте мидлет UFO 3 на нем.

Резюме

В этой главе вы познакомились со звуком в мобильных играх. Вы не только узнали, какое место занимают звуки в играх, но и познакомились с основами работы с тонами и тоновыми последовательностями, используя MIDP 2.0 Media API. Также вы узнали, как опросить телефон о его возможностях работы с аудио. Далее вы изучили код, который позволяет воспроизводить не только отдельные звуки, но и целые мелодии. И в завершение этой главы были добавлены тоны и мелодия в мидлет UFO. В следующей главе вы продолжите работу со звуком, научитесь использовать Wav-файлы, MIDI-музыку и MP3-аудио.

Экскурсия

Если вы ни разу не видели фильм «Близкие контакты третьего рода», то обязательно возьмите его в прокате. Это великолепный фильм, он поможет понять многие аспекты игры UFO 3. Если вы уже видели фильм, я советую расширить созданную тоновую последовательность. Если вы вспомните, инопланетяне использовали ряд интересных звуковых последовательностей, кроме той, что мы уже использовали.

Глава 9 Воспроизведение цифрового звука и музыки

...

Архив Аркад

Еще одна игра 1981 года – это Qix, созданная компанией Taito. Она имеет уникальный дизайн. Но я думаю, если вы не играли в эту игру, то ее описание покажется вам похожим на описание геометрической композиции. Однако Qix очень забавная игра. Ваша цель – рисовать на экране прямоугольники, избегая столкновения со спарксами (Sparx), перемещающимися вдоль уже нарисованных линий, и квиксами (Qix), перемещающимися по экрану. Как я уже сказал, описание игры не столь привлекательно, однако если вам представится возможность поиграть в Qix, непременно сделайте это, вам понравится.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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