Всё для Game Maker
Навигация
Главная
Game Maker
Игры
Примеры
Статьи
Программы
Ресурсы
Справочники
Пакеты расширений
Поиск
Форум
Ссылки
Загрузить файл
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 136
Посетитель: Valantery
Темы форума
Новые темы
Alpha-версия School ...
School of the Darkne...
Ассоциации
усовершенствование с...
RPG
Обсуждаемые темы
Ассоциации [286]
Black Monday [52]
RPG [50]
есть вопрос [50]
О форуме [45]
Топ закачек
Woin [6000]
Interest [5279]
Tank [4362]
Спрайты для 2d боевиков [4350]
Спрайты. Часть 1 [4328]
Спрайты. Часть 3 [4311]
Char [4225]
Space [4086]
Pirates [3985]
FireWing version 145d [3980]
Счетчики

Рейтинг сайтов о создании игр
Реклама
Статья
Игровое меню


Автор: logos2012 (Лебедев Антон) - 29 июля 2008

Контакты: logos2012@yandex.ru

Прежде чем...




Интерфейс (в пер. с англ. - между лицом) - некие правила взаимодействия пользователя и программы. Другими словами, это то, что определяет характер и возможности использования программы ее пользователем. При помощи интерфейса осуществляется собственно работа с программой или ее настройка. Интерфейс также может показывать некоторые параметры, необходимые для работы, так, например, в программе «Bred» (аналог «Блокнота») в левом нижнем углу указаны позиция курсора, номер рабочей строки, язык, кодировка и т.д. В понятие интерфейс компьютерной игры можно отнести меню, всплывающие сообщения, наличие курсора, информационный бар (показ здоровья, брони, опыта и т.д.), инвентарь героя и т.п.

Фича (от англ. - feature - характерная черта) - выделяющееся свойство игры, ее характерная особенность. Существуют как общепринятые фичи, так и особые (специальные). К первым, например, относится система прокачки в RPG, ко вторым грави-пушка «Half Life».

Gif-аниматор - программа для создания анимированных изображений.



Введение




Как уже сказано выше, меню - часть игрового интерфейса. Оно попадается игроку одним из первых, поэтому вносит существенный вклад в формирование первого впечатления об игре. Если игровое меню работает некорректно или неправильно оформлено, то можно с высокой долей вероятности говорить о том, что эта игра заранее обречена на провал.



С чего начать?




Ответ очень прост: «Необходимо сначала начать с мысленного планирования вашего меню - концепции». Любой момент в вашей игре, будь то баллистика снарядов или игровое меню, нуждаются в предварительном планировании. Те наработки, которые вы уже мысленно сделали в своем мозгу, сэкономят массу драгоценного времени, так как любой эмпирический (в ходе практики) подбор без теоретических основ долог по определению. Но обо всем по порядку.

Самый лучший способ планирования, как ни странно, - рисование на обычном листе бумаги. На нем вы можете, хоть и коряво, но все же изобразить те пункты меню, которые Вы бы хотели видеть в игре: например, «Новая игра», «Загрузить», «Опции», «Авторы» и «Выход». Также можно заранее позаботиться о подпунктах своего меню: например, в пункте «Опции» будут «Профиль», «Опции Игры», «Опции Графики» и «Опции Звука». Также представляем примерное положение меню в игровой комнате. Оно не обязательно должно быть четко вертикальным или горизонтальным, возможно Вы захотите расположить меню, например, немного наискось или вообще разбросать по всей ширине комнаты, к примеру, если пункты меню похожи на предметы, изображенные на фоне комнаты.



Дальнейшая разработка




После принятия концепции, следует выбрать тип меню. Ну а теперь немного слов о типах меню.

По характеру управления меню может быть:

1) Клавиатурным. Управляется при помощи клавиш;

2) Курсорным (мышечное - от слова мышь). Управление осуществляется при помощи курсора мыши.

В зависимости от выбранного типа меню применяются различные алгоритмы его реализации.

Далее существует еще одна классификация меню.

По способу оформления различают:

1) Текстовое. Текст и фон (фон примитивов) меню рисуются отдельно (или фона вообще нет).

2) Графическое. Рисование по принципу: «Все включено», то есть кнопка меню представляет единый графический файл.

3) Смешанное. Здесь имеется в виду комбинация текста и графического фона (фона, нарисованного на графическом редакторе и внедренного в игру).

Все три способа оформления можно применить при использовании клавиатурного или курсорного меню.

Примечание: так как текст в GM отрисовывается подобно спрайтам: каждая буква текста - отдельный спрайт, то данное деление в принципе условно.

После выбора типа алгоритма реализации и оформления переходим к собственно процессу рисования. Помните, что стиль меню не должен разниться и тем более противопоставляться главной линии дизайна игры. Что бы понять как это выглядит, то просто посмотрите на дизайн активного и неактивного окон Windows XP, да и вообще на весь стиль операционки.

Следующий этап разработки меню - создание базового алгоритма для работы. Это так называемый план-минимум. Данный алгоритм отвечает лишь за переключение и работу самих пунктов.

Предпоследний этап - создание расширенных особенностей (фичей) меню. К таковым можно отнести создание вспышек частиц, запуск звуков, смену изображений при переходе с одного пункта меню на другой.

Завершающий этап - отладка, то есть тестирование меню на профпригодность и исправление неустраненных багов. Не пропускайте данный этап ни в коем случае, так как в дальнейшем неработающее меню может принести кучу проблем и даже сбить весь энтузиазм разработчика.



Практика применения




А теперь посмотрим, как различные типы меню можно реализовывать на практике.

1) Курсорное графическое меню.

Предварительно нарисованные кнопки я лично при помощи Gif-аниматора обычно складываю вместе, дабы не захламлять пространство Game maker-а. У нас будет пять пунктов меню. Под каждый пункт меню должен быть создан свой объект. Приведем код для одного из объектов:



В Create:



image_speed=0//Устанавливаем нулевую скорость анимации

image_index=0//Устанавливаем первый кадр в качестве начального изображения






В Left Pressed (мышь):



room_goto(game)//Перенаправляем игрока в определенную комнату

sound_play(snd_menu_e)//Проигрываем звук при нажатии






В Mouse Enter (мышь):



image_index=1//При наведении меняем кадр изображения на второй

sound_play(snd_menu_c)//Проигрываем звук при наведении






В Mouse Leave (мышь):



image_index=0//При уходе курсора мыши возвращаем первый кадр изображения






В принципе ничего сложного. После создания всех объектов их необходимо поместить в комнату вручную или при помощи функции instance_create(…) (Create), прописанной, в каком-нибудь контроллере.



2) Клавиатурное текстовое меню.

Здесь возиться с графическими редакторами не нужно. Также можно обойтись одним объектом (o_menu_2), вместо пяти. В примере будем обходиться 2-я пунктами меню для экономии места.

В Create:



draw_set_font(f_menu)//Определяем шрифт

option=0//Переменная-переключатель

//Опции - переменные для вывода текста на экран

menu1=" Новая Игра"

menu2=” Выход”






В Step:



//Проверка переменой-переключателя

switch(option)

{

case 0:

menu1="> Новая игра";

menu2=" Выход";

break;

case 1:

menu1=" Новая игра";

menu2="> Выход";

break;

}






В Press «Enter»:



/*При нажатии на Enter в зависимости от состояния переменной-переключателя
осуществляем либо переход к игровой комнате или выход из игры*/


switch(option)

{

case 0:

room_goto(level_0)

break;

case 1:

game_end()

break;

}






В Press «Up»:



//Меняем значение переменой-переключателя в убывающей степени

option-=1

if(option<0){option=1}






В Press «Down»:



//Меняем значение переменой-переключателя в убывающей степени

option+=1

if(option>1){option=0}






В Draw:



draw_set_color(c_white)//Определяем цвет текста

//Рисуем меню

draw_text(x+320,y-400,string(menu1)+"#"+string(menu2))






Теперь немного пояснений по алгоритму. В данном случае мы пользуемся конструкцией switch-case-break. Данный оператор используется, когда осуществление каких-то действий зависит от одной определенной величины, в данном случае от величины переменной option (значение данной переменной записывается в switch предварительно), которая может принимать значение «0» или «1». Изменение значений переменной option определяется клавишами «Up» и «Down». В Step мы проверяем значение option в каждом шаге и соответствующим образом меняем начертание текста, а при помощи «Enter» мы осуществляем либо переход в другую комнату, либо выходим из игры. Для работы меню необходимо поместить o_menu_2 в комнату и настроить положение текста (переменные «x» и «y» в draw_text(…))

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



Источники




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


Эту статью + пример Вы можете скачать здесь.
 
Опубликовал -MaX- Июль 30 2008 16:30:30 · 0 Комментариев · 7611 Прочтений · Для печати
Комментарии
Нет комментариев.
Добавить комментарий
Вам нужно авторизоваться или зарегистрироваться чтобы оставлять комментарии.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизируйтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Голосование
Оцените новую версию сайта :)

5 (отлично)

4 (хорошо)

3 (плохо)

2 (ужасно)

Для участия в опросах вы должны авторизоваться или зарегистрироваться.
Мини-чат
Вам необходимо авторизоваться.

GRID
06/04/2012 18:17
<_<

MaxIM
21/01/2012 16:23
Я всё еще вспоминаю про этот сайт... Жалко что -МаХ- ушёл в неизвестность,и забил на всё =(

CrashBand
17/10/2011 20:40
лол.

MaxIM
04/08/2011 22:26
Я тоже жив,а вот насчет -MaX-`a незнаю =(((

fedenkovadik
28/07/2011 03:41
прошел практически ровно год, немного больше. Я все еще жив. В отличии от сайта. сука.

Архив чата