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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать
Листинг 14.6. Метод update() класса LHCanvas отправляет сообщения, закодированные азбукой Морзе, в соответствии с нажатыми клавишами

private void update() {

// обработка пользовательского ввода

int keyState = getKeyStates();

if ((keyState & LEFT_PRESSED) != 0) {

if (isServer) //Передать точку на другой телефон

server.sendMessage("Dot");

else

client.sendMessage("Dot");

status = "Dot";

}

else if ((keyState & RIGHT_PRESSED) != 0) {

if (isServer) //Передать тире на другой телефон

server.sendMessage("Dash");

else

client.sendMessage("Dash");

status = "Dash";

}

// обновить таймер кода Морзе

if (mode != 0) {

morseTimer++;

// тайм-аут точки

if (mode == 1 && morseTimer > 3)

mode = 0;

// тайм-аут тире

else if (mode == 2 && morseTimer > 9)

mode = 0;

}

}

Метод update() проверяет нажатие клавиш и в соответствии с нажатыми клавишами отправляет нужный знак. Клавиша влево соответствует точке, а клавиша вправо – тире. Чтобы отправить код азбуки Морзе, метод update() просто вызывает метод sendMessage() сетевого объекта (клиента или сервера).

После проверки нажатий клавиш и отправки сообщения, если необходимо, метод update() обновляет таймер Морзе. Если значение переменной mode равно 1, то выводится точка, затем значение таймера увеличивается до 3, после чего выводится изображение маяка с погашенным огнем. Если значение переменной mode равно 2, выводится тире, при этом счетчик будет увеличиваться до 9. И наконец, если значение переменной mode равно 0, то следует вывести изображение маяка с погашенным огнем, таймер не изменяется.

Метод draw() выводит изображение маяка на экран (листинг 14.7).

Листинг 14.7. Метод draw() класса LHCanvas выводит на экран нужное изображение маяка

private void draw(Graphics g) {

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

if (mode == 0) //В зависимости от режима маяк светится или нет

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

else

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

// вывести сообщение о статусе

g.setColor(255, 255, 255); // white

g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD, Font.SIZE_MEDIUM));

g.drawString(status, getWidth() / 2, 5, Graphics.TOP | Graphics.HCENTER); // В верхней части экрана выводится статусное сообщение

// вывести содержимое буфера на экран

flushGraphics();

}

Метод draw() начинается с проверки значения переменной mode, которая определяет, какое изображение маяка следует вывести. Если значение этой переменной равно 0, то выводится изображение маяка с погашенным огнем, в противном случае выводится изображение маяка с включенным огнем. Остальной код выводит в нижней части экрана сообщение о статусе соединения. Сообщение о текущем статусе выводится функцией setStatus():

public void setStatus(String s) {

// установить текущий статус

status = s;

}

Последний метод класса LHCanvas – это метод receiveMessage(), принимающий сообщение, закодированное азбукой Морзе, и в соответствии с сообщением настраивает холст. В листинге 14.8 приведен код этого метода: Листинг 14.8. Метод receiveMessage() класса LHCanvas получает сообщение, отправленное по сети

public void receiveMessage(String message) {

// установить режим

if (message.equals("Dash")) // Изменить режим в соответствие с сообщением

mode = 2;

else if (message.equals("Dot"))

mode = 1;

else

mode = 0;

// обнулить таймер

morseTimer = 0;

// очистить сообщение о статусе

status = ""; // При отображении символов азбуки Морзе нет необходимости выводить статусное сообщение

}

Параметр метода receiveMessage() – это отправленное сообщение. Это сообщение всегда точка (Dot) или тире (Dash). В последнем случае значение переменной mode становится равным 2, в то время как в первом случае – 1. Если по какой-либо причине сообщение не содержит ни один из возможных вариантов, его значение переменной mode становится равным 0. После этого обнуляется таймер, обеспечивающий правильную работу мидлета. Мидлет Lighthouse

Последний функциональный представляющий интерес фрагмент кода мидлета Lighthouse – это сам класс мидлета, в котором есть код, отличающий его от всех созданных ранее в книге мидлетов. В листинге 14.9 приведен код класса LighthouseMIDlet.

Листинг 14.9. Класс LighthouseMIDlet при загрузке приложения позволяет пользователю выбрать режим работы: клиент или сервер

public class LighthouseMIDlet extends MIDlet implements CommandListener {

private Form initForm; // Объект типа Form используется для реализации интерфейса

private ChoiceGroup choices;

private LHCanvas gameCanvas;

public void startApp() {

// создать стартовую форму

initForm = new Form("Connect 4");

// добавить выбор устройства

String[] peerNames = { "Server", "Client" }; // Создать группу выбора с двумя опциями: Клиент и Сервер

choices = new ChoiceGroup("Please select peer type:", Choice.EXCLUSIVE,

peerNames, null);

initForm.append(choices);

// добавить команды Play и Exit

Command exitCommand = new Command("Exit", Command.EXIT, 0);

initForm.addCommand(exitCommand);

Command playCommand = new Command("Play", Command.OK, 0);

initForm.addCommand(playCommand);

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

Интервал:

Закладка:

Сделать

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

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


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

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

x