Работаем с Меню "Титры”. Урок 8 (18)
Сделаем теперь титры для нашей игры, они будут появляться, когда мы жмём "Авторы” в главном меню. В menu\data\scenes\ создаём новую сцену credits.scene, открываем её и удаляем background и floor. Создаём window.script (Add script…), пишем:
---------------------------------------------------------------------------- #include "scripts\base.inc" #include "scripts\keys.inc"
//////////////////////////////////////////////////////////////////////////////// function DoClose() { this.Close(); Game.ChangeScene("scenes\Menu\Menu.scene"); Game.UnloadObject(this); }
//////////////////////////////////////////////////////////////////////////////// on "LeftClick" { DoClose(); }
//////////////////////////////////////////////////////////////////////////////// on "Keypress" { if(Keyboard.KeyCode==VK_ESCAPE) { DoClose(); } } --------------------------------------------------------
В титрах у нас будет использоваться ещё один шрифт красного цвета, создаём его в Fonts и называем comic_red.font. Открываем scene_init.script и пишем:
------------------------------------------------------------
#include "scripts\base.inc"
actor.Active = false;
var CurrY = 0;
var Win = Game.CreateWindow(); Win.X = 0; Win.Y = 0; Win.Width = Game.ScreenWidth; Win.Height = Game.ScreenHeight; Win.AttachScript("scenes\credits\scr\window.script");
CurrY = 600;
AddText("Урок из серии Как я это делал"); AddText("работаем с меню"); AddText(""); AddText(""); AddText("Автор урока", true); AddText("Molier"); AddText("http://molier-artstudo.ucoz.ru"); AddText(""); AddText(""); AddText("Картинки к уроку", true); AddText("http://molier-fotoart.ucoz.ru "); AddText("");
Win.Exclusive = true; while(Win.Y > -CurrY) { Win.Y = Win.Y - 3; Sleep(50); } if(Win!=null) { Win.Close(); Game.UnloadObject(Win); Game.ChangeScene("scenes\Menu\Menu.scene"); }
//////////////////////////////////////////////////////////////////////////////// function AddText(Text, Hilight) { if(Hilight==null) Hilight = false; var Static = Win.CreateStatic(); if(Text==null) Static.Text = ""; else Static.Text = Text; Static.X = 0; Static.Y = CurrY; Static.Width = Game.ScreenWidth; Static.Height = 32; Static.TextAlign = TAL_CENTER; if(Hilight) Static.SetFont("fonts\comic_red.font"); else Static.SetFont("fonts\comic_menu.font"); CurrY = CurrY + Static.Height; Win.Height = Win.Height + Static.Height;
} ---------------------------------------------------------------------
Теперь можно проверять.
|