Wintermute Engine Forum
Czech forum => Technické fórum => Topic started by: Andrej (Blue Arc) on August 04, 2010, 04:54:55 PM
-
Kedysi dávno sme tu viedli diskusiu o tom, ako vytvoriť jednoduché subtittles window. Príspevok o ktorom hovorím je tu: http://forum.dead-code.org/index.php?topic=4106.0
Riešenie nakoniec vyšlo ako funkcia, ktorá volá funkciu (viď príspevok). Keď som sa nad tým zamyslel, je to príliš neefektivne riešenie (byť stackom, nechcelo by sa mi to všetko kopírovať :) ), preto je tu asi to najjednoduhšie riešenie:
Vytvoriť si DialogBox window niekde vo zložke, napríklad: interface\dialogbox\dialogbox.window
V base.inc deklarovať globálnu premennú
global WinDialogBox;
V game.script napísať tento riadok:
// load the dialogbox window
WinDialogBox = Game.LoadWindow("interface\dialogbox\dialogbox.window");
WinDialogBox.Visible = false;
Teraz kdekoľvek vo hre, kde bude treba zobraziť dialogbox, stačí napísať:
WinDialogBox.Visible = true;
actor.Talk("Hello, how are you?");
actor.Talk("Do you like WME?");
actor.Talk("I have to go.");
WinDialogBox.Visible = false;
EDIT:
V prípade, že bude v nastaveniach vašej hry možnosť zapnúť/vypnúť titulky, je vhodné upraviť kód takto:
WinDialogBox.Visible = Game.Subtitles; // read-only hodnota; buď je tru alebo false
actor.Talk("Hello, how are you?");
actor.Talk("Do you like WME?");
actor.Talk("I have to go.");
WinDialogBox.Visible = false;
Myslím, že je to oveľa lepšie, ako zbytočne preťažovať metódu..