Делаем меню в игре, которое появляется при нажатии "ESC”. Открываем data\interface\system\mainmenu.window, удаляем всё, как в уроке № 3. Делаем своё меню. Используем ту же книгу book.png, её вставляем в наше меню, туда же добавляем кнопки с надписями:
Продолжить игру - "Name”- " close”; -"Text”- " Продолжить игру ”;
Загрузить игру - "Name”- "load”; -"Text”- " Загрузить игру ”;
Сохранить игру - "Name”- "save”; -"Text”- "Сохранить игру”;
Выйти из Игры - "Name”- "quit”; -"Text”- "Выйти из игры”;
Не забываем о шрифте. Должно получится так:
В mainmenu.script должно быть прописано следующее:
//////////////////////////////////////// on "close" { this.Close(); } ///////////////////////////////////////// on "quit" { if(Game.QuestionBox("Xочеш выйти из Игры ?")) Game.QuitGame(); }
/////////////////////////////////////////// on "Keypress" { var button; if(Keyboard.KeyCode==VK_ESCAPE){ button = this.GetControl("close"); button.Press(); } } //////////////////////////////////////// on "load" { var WinLoad = Game.LoadWindow("interface\system\load.window"); WinLoad.Center(); WinLoad.GoSystemExclusive(); Game.UnloadObject(WinLoad); } //////////////////////////////////////////////////// on "save" { var WinSave = Game.LoadWindow("interface\system\save.window"); WinSave.Center(); WinSave.GoSystemExclusive(); if(WinSave.xResult==true) { this.Close(); Game.UnloadObject(WinSave); } else Game.UnloadObject(WinSave); }
Пока не запускаем игру, а в interface/system создаём новый (жмём Add window…) question.window, в Name пишем "question”. Меняем вид, для этого копируем картинку
в data\interface\system\ назовём quit.png. Теперь открываем question.window , как и в предыдущих уроках меняем вид, так как опыт уже есть, просто покажу, то что у меня получилось, для начало:
- question
-дальше message
-Да
-Нет
Возникнут вопросы, пишите на форум.
Да, чуть не забыл в scripts/game.script, вносим изменения, сейчас оно должно выглядеть так:
actor.Reset(); } else ActObj.ApplyEvent("RightClick"); } } //////////////////////////////////////////////////////////////////////////////// on "Keypress" { // on Esc or F1 key if(Keyboard.KeyCode==VK_ESCAPE || Keyboard.KeyCode==VK_F1) { // load and display the main menu window WinCaption.Visible = false; var WinMainMenu = Game.LoadWindow("interface\system\mainmenu.window"); WinMainMenu.Center(); WinMainMenu.GoSystemExclusive(); Game.UnloadObject(WinMainMenu); } } //////////////////////////////////////////////////////////////////////////////// on "QuitGame" { WinCaption.Visible = false; var WinQuit = Game.LoadWindow("interface\system\quit.window"); WinQuit.Center(); WinQuit.GoSystemExclusive();
var Result = Window.xResult; Game.UnloadObject(Window);
return Result; }
Теперь проверяем, загружаем игру: - жмём «начать игру», переходим на первую сцену; - теперь «ESC», меню игры; - «Продолжить», возвращаемся на первую сцену; - опять «ESC»; - проверяем сразу «Нет», а потом «Да». Должно всё быть хорошо. Дальше займёмся «Загрузить», «Сохранить».