Please login or register.

Login with username, password and session length
Advanced search  

News:

This forum provides RSS feed. To query recent posts use this url. More...


Author Topic: Jednoduchý DialogBox  (Read 3176 times)

0 Members and 1 Guest are viewing this topic.

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Jednoduchý DialogBox
« 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..
« Last Edit: February 06, 2012, 08:17:42 AM by Andrej (Blue Arc) »
Logged
 

Page created in 0.022 seconds with 18 queries.