[phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /mnt/data/accounts/p/pws/data/www/kreveta/article.php:1)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /mnt/data/accounts/p/pws/data/www/kreveta/article.php:1)
[phpBB Debug] PHP Notice: in file /includes/session.php on line 1007: Cannot modify header information - headers already sent by (output started at /mnt/data/accounts/p/pws/data/www/kreveta/article.php:1)
Windows Dialogs - Kreveta.NET

Windows Dialogs

Vystavil chylex

28.08.2010

9
Kvůli nedostatku chuti budu dokončovat článek postupně, zde je seznam dokončených částí: Informační okna, vstupní okna, výběr barvy, z části výběr souboru


Windows Dialogs


Co to jako je??


Windows Dialogs je rozšíření pro Game Maker 7+ od autora GM, Marka Overmarse. Pomocí nich můžete vytvořit oknovské okna, jak můžete vidět na obrázku:

Jestli nevíte jak rozšíření vložit, podívejte se na návod:

Informační okna


Základní příkaz wd_message_simple(text) vytvoří obyčejné okno s tlačítkem OK, bez obrázku.

Jestli si ale chcete okno přizpůsobit, nebude tento příkaz stačit. Musíte použít příkaz wd_message_set_text(text) který nastaví text a wd_message_show(typ,tlačítko1,tlačítko2,tlačítko3). Mezi typy patří:

Zleva:
wd_mk_error (chyba)
wd_mk_information (informace)
wd_mk_confirmation (potvrzení)
wd_mk_warning (varování)
wd_mk_none (nic, jako wd_message_simple(text)).
Jako tlačítka můžete použít:

Zleva:
wd_mb_cancel (zrušit)
wd_mb_abort (přerušit)
wd_mb_ignore (ignorovat)
wd_mb_no (ne)
wd_mb_none (nic, nejde vidět, můžou se použít i 2 uvozovky: ' nebo "")
wd_mb_ok (OK)
wd_mb_yes (ano)
wd_mb_retry (opakovat)
Tlačítka se seřadí automaticky podle priority. Funkce vratí hodnotu podle zvoleného tlačítka, zde je jejich seznam:
wd_mb_ok = 1
wd_mb_cancel = 2
wd_mb_yes = 3
wd_mb_no = 4
wd_mb_abort = 5
wd_mb_retry = 6
wd_mb_ignore = 7
Při zrušení (escape) se zvolí modře (podle nastavení oken ve Windows) zvýrazněná hodnota.
Ještě můžete použít příkaz, kterým nastavíte pozici okna: wd_message_show_pos(typ,tlačítko1,tlačítko2,tlačítko3,pozice x,pozice y).

Vstupní okna


Do vstupního okna napíšete text, například když děláte test, vytvoříte vstupní okno do kterého uživatel napíše odpověď.
Základní příkaz wd_input_box(titulek,dotaz,původní hodnota) vypadá takto (titulek=caption, prompt=dotaz, default=původní hodnota):

Příkaz vrací hodnotu vloženou ve vstupním poli po kliknutí na OK, při zrušení (escape) nebo kliknutí na Cancel vrací příkaz původní hodnotu. Narozdíl od příkazu wd_input_box(), který vrací vložený text, příkaz wd_input_query(titulek,dotaz,původní hodnota) vrací hodnotu 1 při kliknutí na OK a 0 při kliknutí na Cancel nebo zrušení. Zadaný text vrací příkaz wd_input_query_get_text().

Výběr barvy


Jistě všichni znáte okno na výběr barvy, jako je třeba v malování (dvojklik na barvu), pokud ne, podívejte se.

Toto okno zobrazíte příkazem wd_color_dialog_show(). Normálně je původní barvou černá (jak vidíte na obrázku), ale pomocí příkazu wd_color_dialog_set_color(barva) ji můžete změnit, lze použít jak definované barvy (c_blue, c_orange), tak hodnotu barvy (to je těžší, lepší je barvy si namíchat jiným příkazem, hodnota černé je 0, žluté 65535...), nebo si je namíchat (make_color_rgb(cervena,zelena,modra), make_color_hsv(odstin,sytost,svetelnost) apod.). Zvolenou barvu vrací příkaz wd_color_dialog_get_color(), pokud kliknete na Storno nebo jinak okno zrušíte, vrací původní barvu.

Výběr souboru


Pokud potřebujete vybrat nějaký soubor, můžete použít příkaz, který už v GM je, ale nemůžete si ho nastavit do detailů. Takto vypadá dialog na otevření souboru:

Nejdřív si okno na výběr souboru můžete nastavit:
Titulek nastavíte příkazem wd_open_dialog_set_caption(titulek), já jsem pro obrázek zvolil To nahore :).
Jestli potřebujete nastavit příponu, kterou bude program zobrazovat, použijte příkaz wd_open_dialog_set_filter(filtr), filtr je NÁZEV|PŘÍPONA, v ukázce používám Pripona (exe)|*.exe, zobrazí všechny aplikace (soubory s příponou EXE). Pokud chcete hledat zvuky, může argument vypadat: Všechny zvuky|*.wav;*.wave;*.midi;*.mid;*.aiff;*.mp3|WAV |*.wav;*.wave|MIDI |*.mid;*.midi|AIFF |*.aiff|MP3 |*.mp3|Všechny soubory |*.*. Jak jste si jistě všimli, přípony oddělujete středníkem. Všechny soubory mají příponu *.*, druhá hvězdička znamená "vše" = všechny přípony.
Výchozí složkou jsou Dokumenty, ale pokud ji potřebujete přenastavit, použijte wd_open_dialog_set_folder(slozka), argumentem může být například C: nebo working_directory, tu jsem použil já, ale GMK na kterých příkazy testuju a fotím neukládám, proto je na screenu dočasná složka, kde je jak zdroják, tak aplikace (ale zdroják není kvůli filtru zobrazení jen EXE vidět).

Kvůli nedostatku chuti dál psát, budu článek postupně dokončovat, takže se tady můžou objevit další příkazy. Jestli vám tohle nestačí, můžete si i vystačit sami s nápovědou k doplňku a experimentováním.

Hodnocení +24Líbí
Přečteno 1750-krát

Komentáře

Přidat nový



Pro přispívání musíte být přihlášen


Zapsal chylex - 10.12.2010 21:22



jackm: Ne, to fakt nejde. Umí to jenom základní tlačítka, navíc jenom v angličtině. Ale rozšíření je to skvělé a nabízí spoustu možností ;).



Zapsal jackm - 20.10.2010 18:37



Jde tam dát i nějak svý tlačítko?Já to zkoušel jak přes string, tak proměnnou, a nejde to(prostě se to nezobrazí), a žádná definovaná proměnná wd_mb_my, kterou by jste si mohli nastavit není. :(



Zapsal Ikkju - 01.09.2010 09:41



Tak do toho koukam a doufam že z článku dokážu vycucat save/load s výběrem jména sejvu. Za článek dík, poznámka na začátku mě spíš pobavila x)



Zapsal moddo - 31.08.2010 20:00



Jako promin, pravda a nepravda. Ale jsou naka eticka pravidla. Takze na tohle bych se nevymlouval. Proste to tam nepatri.



Zapsal chylex - 31.08.2010 14:05



moddo: No, ale je lepší když se lidi dozví pravdu než to zastírat a vymlouvat se.



Zapsal moddo - 30.08.2010 23:00



To rozhodne. Ja nerekl zleho slova na obsahovou cast clanku. Ja mluvil o uvodu vuci dobe ktara nyni na krevete panuje.



Zapsal chylex - 30.08.2010 11:04



moddo: No, ale je škoda aby to v administraci zůstalo ležet, někomu to snad pomůže.



Zapsal Firejs - 28.08.2010 11:38



Jn, to bych asi do článku nenapsal... :)
Ale úpadek už začínám pozorovat taky, hlavně kvůli soutěži...


Ale extensions jsem nikdy nepotřeboval, a vlastně ani nevěděl k čemu to je - teď to vím, a stále to nepotřebuji ;)



Zapsal moddo - 28.08.2010 10:39



Yajimave. I kdyz si opravdu umim predstavit jiny zacaek, nez ze autor je znudeny pri pomysleni na torbu clanku. Pak se nedivme ze vse upada, kdyz uz to pasivne prijimame i pomoci oficialnich clanku :(




Poslední komentáře

Sousední akvárko

Nejčtenější

Nejlepší

Web Kreveta.net je unikátní sbírkou článků mapují proces tvorby her. Vedle návodů naleznete v krevetím akvárku i rozhovory s vývojáři, recenze, soutěže. Portál Kreveta.net připravují (řazeno abecedně): Akhera, Banane4joy, Bullet_catcher, Burák, Fire.js, Ikkju, Izual, Likandro, Makan, PepiCzech, StorN, Tior.
Akvárko vymaloval Tior, o chod filtrace se stará StorN (design a kód).
Copyright © 2010 Kreveta.net. Všechna práva vyhrazena.