На этот раз мы не будем использовать Visual C++, так что... Встречайте! WordPad и его младший братик Блокнот! Да-да, Вы не ослышались, мы пока оставим компилятор в покое. Сейчас мы приступим к изготовлению собственного меню.
Все описания игрового меню находятся в папке ui в файлах с расширением .MENU, которые легко редактируются WordPad-ом или Блокнотиком. Каждый раздел меню описывается отдельным блоком. Блок заключается в фигурные скобки. При том, блоки itemDef могут быть вложенными только в блоки menuDef.
Давайте попробуем что-нибудь поменять в главном меню. Для этого откроем файл "main.menu". Сначало заменем стандартный фон на видео-ролик, который можем наблюдать в разделе "Авторы". Найдите и закоментируйте ( //--- ) itemDef-ы со следующими названиями:
- backimage2
- testmodel_bj // хотя Блажковича можно оставить
- video_over1
- backimage4
- testmodel_aflag1 // или заменить модель, уж очень мазолит глаза америкоский флаг
)
Теперь после itemDef-а backimage2 пропишите следующий:
itemDef {
name back_cin // название произвольное
style WINDOW_STYLE_CINEMATIC
cinematic "menu.roq" // видео-ролик
rect 0 80 640 400
backcolor 1 1 1 .25
border 1
bordersize 1
bordercolor .1 .1 .1 1
decoration
visible 1
}
Хочу заметить, порядок следования itemDef-ов имеет значение, т.к. каждый последующий будет накладываться на предыдущий. Слои, понимаете ли.
А после itemDef-а gold_line добавьте:
itemDef {
name document
style WINDOW_STYLE_SHADER
rect 0 60 200 370
background "gfx/clipboard/document1.tga"
visible 1
decoration
} // это будет у нас фон под пункты меню.
А сейчас приступим к самим пунктам меню. Выстроим их в столбик. После комментария
////////// GAMETYPE ////////////////////////////////////////////////////////
// SINGLEPLAYER //
находятся itemDef-ы, отвечающие за пункты меню. В каждом из них есть ключ rect, имеющий четыре параметра. Первые два параметра - это координаты пункта. Другие два - размеры рабочей зоны. Менять мы будем только координаты, т.к. названия пунктов мы пока менять не будем. К сведению, это делается в ключе text. Приведу значения rect для соответствующих itemDef-ов:
- play: rect 16 120 40 14
- loadgame: rect 16 170 72 14
- options: rect 16 220 56 14
- playselection: rect 16 270 84 14
- credits: rect 16 320 52 14
- quit: rect 16 370 32 14
Как не сложно заметить, меняется только вторая координата, то есть раположение по вертикали.
Немного о цвете надписей. За это ответственен ключ forecolor, имеющий четыре параметра. Первые три задают цвет в RBG, последний - прозрачность. Кстати, при наведении мышки на пункт, тот меняет цвет. Изменить значение цвета можно с помощью ключа focusColor. Этот ключ общий для всех пунктов в файле.