Предисловие
Этот урок, является прямым продолжением урока MENUDEF. Первое знакомство.
В этом уроке, мы заменим главное меню Doom, на собственное. В итоге, у нас получится следующее:
Приступим.
Украшаем главное меню.
Перед началом, скачайте спрайты элементов меню, и under-prog кружки на MEGA. И добавьте их к себе в wad.
Далее, добавьте следующий код к себе в MENUDEF:
ListMenu "MainMenu"
{
Position 0, 140
Linespacing 30
Selector "CURS", -15,8
StaticPatchCentered 100,40,"COFFE_CU"
StaticTextCentered 100, 120, "Under-Prog.Ru"
PatchItem "PIC1", "s", "SkillMenu"
PatchItem "PIC2", "o", "myOptionMenu"
PatchItem "PIC3", "e", "QuitMenu"
}
Разберем каждую строку:
ListMenu "MainMenu"
В этой строке мы создали меню список (LisrtMenu), и присвоили ему имя главного меню игры (MainMenu). Таким образом, мы переопределяем главное меню игры.
Position 0, 140
Указываем позицию (Position) относительно которого будут строится элементы меню (в нашем случае PachItem). То-есть, элементы будут строится относительно x = 0 и y = 140.
Linespacing 30
Linespacing указывает расстояние между элементами меню, по оси y.
Selector "CURS", -15,8
Selector, указывает указатель, который будет располагаться напротив выбранного элемента меню. Кстати, выглядит он будет так:
Синтаксис у Selector следующий:
Selector "название_картинки", относительное_x, относительное_y
- название_картинки — задает название картинки, без расширения.
- относительное_x— задает координату x, относительно элемента меню.
- относительное_y— задает координату y, относительно элемента меню.
Идем дальше.
StaticPatchCentered 100,40,"COFFE_CU"
Комманда StaticPatchCentered рисует изображение на указанных координатах, а еще, в отличии от StaticPatch, комманда StaticPatchCentered выравнивает изображение по центру.
Синтаксис у StaticPatchCentered следующий:
StaticPatchCentered x, y,"название_изображения"
Таким образом, мы нарисовали кружку на координатах 100, 40. Ладно, перейдем к следующей комманде.
StaticTextCentered 100, 120, "Under-Prog.Ru"
Данная комманда пишет текст на экране. Синтаксис, у неё следующий:
StaticPatchCentered x, y, "текст"
Добавляем элементы меню.
Теперь, время добавлять элементы меню. Добавлять будем с помощью комманды PatchItem.
PatchItem "PIC1", "s", "SkillMenu"
Синтаксис у PatchItem следующий:
PatchItem "название_картинки", "горячая_клавиша", "название_меню"
- название_картинки — задает название картинки, без расширения.
- горячая_клавиша — задает клавишу, при нажатии на которую, курсор переключается на этот элемент меню.
- название_меню — задает меню, которое открывается при выборе элемента меню. Меню может быть как OptionMenu, так и ListMenu.
Таким образом, в этой строке:
PatchItem "PIC1", "s", "SkillMenu"
Мы создали элемент меню, который выглядит так:
Выбирает на кнопку «s«, и открывает SkillMenu. Кстати SkillMenu это стандартное меню Doom, вспоминаем предыдущий урок.
Далее.
PatchItem "PIC2", "o", "myOptionMenu"
Здесь PatchItem вызывает «myOptionMenu» который мы сделали в уроке MENUDEF. Первое знакомство.
PatchItem "PIC3", "e", "QuitMenu"
Создаем опцию выхода из игры.
Теперь, если запустить, увидим новое меню.