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

В копилку Игрока

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

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

Обработка пользовательского ввода с помощью класса GameCanvas

В главе 5 вы познакомились с классом GameCanvas, который предлагает уникальное решение для создания графики – двухбуферную анимацию. Класс GameCanvas предназначен не только для этого, он реализует высоко эффективную обработку ввода, специально разработанную для мобильных устройств. Традиционный подход, используемый в J2ME, годится для большинства мидлетов, но не в полной мере отвечает требованиям игр. Поэтому класс GameCanvas содержит более эффективный метод обработки ввода – метод getKeyStates.

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

► UP_PRESSED – клавиша вверх;

► DOWN_PRESSED – клавиша вниз;

► LEFT_PRESSED – клавиша влево;

► RIGHT_PRESSED – клавиша вправо;

► FIRE_PRESSED – клавиша выстрела;

► GAME_A_PRESSED – дополнительная клавиша A;

► GAME_B_PRESSED – дополнительная клавиша B;

► GAME_C_PRESSED – дополнительная клавиша С;

► GAME_D_PRESSED – дополнительная клавиша D.

...

В копилку Игрока

Клавиши A B, C и D – это дополнительные клавиши, которые могут отсутствовать на мобильном телефоне. Поэтому вы не должны рассчитывать на эти клавиши, если не создаете игру для особой модели телефона.

Метод getKeyStates возвращает целочисленное значение, которое можно использовать для проверки нажатой клавиши. Чтобы проверить нажатие клавиши, вызовите метод getKeyStates и сравните возвращенное значение с одной из констант, например, так:

int keyState = getKeyStates;

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

// переместить влево

}else if ((keyState & RIGHT_KEY) != 0) {

//переместить вправо

}

Этот код следует поместить в игровой цикл так, чтобы состояние клавиш проверялось через равные промежутки времени. Важно понять, что метод getKeyStates не обязательно возвращает текущее состояние клавиш. Если клавиша была нажата после предыдущего вызова этого метода, то возвращаемое значение будет говорить о том, что она нажата. Это гарантирует перехват быстрых нажатий кнопок даже в случае медленной работы игрового цикла. Уверен, что вы не хотите развития такого сценария, однако, по крайней мере, вы не потеряете ни одного нажатия клавиш.

...

В копилку Игрока

Некоторые телефоны могут поддерживать клавишные комбинации, но гарантии этому нет. Если вы создаете мидлет для конкретной модели телефона, то можете спокойно использовать все его возможности. В некоторые современные коммерческие игры, например, Tony Hawk\'s Pro Skater, невозможно играть, не используя клавишные комбинации.

Перейти на страницу:

Похожие книги

С компьютером на ты. Самое необходимое
С компьютером на ты. Самое необходимое

Рассказывается о работе в операционной системе Windows (на примере версий XP и 7), текстовом редакторе Word 2010 и других приложениях, необходимых каждому пользователю: архиваторах, антивирусах и программах для просмотра видео и прослушивания музыки (Winamp, QuickTime Pro). Большое внимание уделяется работе в Интернете. Рассказывается о программах для просмотра Web-страниц, об электронной почте, а также о различных полезных приложениях для работы в сети — менеджерах закачек файлов, ICQ, Windows Live Messenger, MSN и многих других. Во втором издании рассмотрена новая ОС — Windows 7, а также последние версии приложений для пользователей.Для начинающих пользователей ПК.

Андрей Александрович Егоров , Андрей Егоров

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
От «кирпича» до смартфона
От «кирпича» до смартфона

Перед вами уникальное исследование мира мобильной индустрии, превращенное его автором Эльдаром Муртазиным, ведущим аналитиком Mobile Research Group и главным российским специалистом по мобильным телефонам, в захватывающий бизнес-триллер. Гигантские компании — Nokia, Motorola, Samsung бросают на мобильный фронт колоссальные силы, создают альянсы, охотятся за лучшими специалистами, шпионят друг за другом. Разработки ведутся в обстановке строжайшей секретности. Цель — выпустить на рынок новую, уникальную модель раньше конкурентов или даже полностью изменить наше представление о мобильном телефоне, как это недавно удалось Apple со своим iPhone.Эта книга предназначена для тех, кто видит в мобильном телефоне не просто средство связи, а чудо инженерной мысли, смелое воплощение дизайнерских фантазий, символ нашей эпохи.

Эльдар Викторович Муртазин , Эльдар Муртазин

Справочная литература / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии