MSHost.cz https://forum.mshost.cz:443/ |
|
GUI - Tlacitka , Okna ... https://forum.mshost.cz:443/viewtopic.php?f=18&t=9095 |
Page 1 of 1 |
Author: | FirstMn [ Sun 07. Apr 2013 17:57:14 ] |
Post subject: | GUI - Tlacitka , Okna ... |
Úvod Ke GUI bude nejlepsi se s tim moc nepiplat , a pouzit guieditor , ve kterym uz vytvarite gui a dokonce i DX primo ve hre, a okamzite vidite co jste vytvorili. >>/ Zatimco kdyz GUI delate v notepadu ,(proste rucne) tak nevidite moc co a jak jste kde udelali. guieditor je ke stazeni zde. GUI je to nejlehci co muzete delat, nic tezkeho ani neni prirazovat funkce k nim. Nepouzivate addCommandHandler, ale addEventHandler. syntax-priklad je : addEventHandler("onClientGUIClick", GUI-element, funkce) priklad dame ze pri kliknuti na tlacitko se neco stane : addEventHandler("onClientGUIClick", button_close, zavrit) Eventy GUI jsou zde : events Funkce GUI jsou zde : functions Pokud chcete zobrazit GUI , jednoduse vypiste kod do funkce , a pridejte tam showCursor, ktery vam zobrazi kurzor (pokud napr. mate tlacitka na zavreni) Pri "zavirani" okna, GUI, pouzivejte destroyElement() , nikoli setElementAlpha apod..Nezapomente na showCursor na defaultní hodnotu (false), jinak se vám zavre okno , ale kurzor mysi vam zustane ! !!! V GUI nesmíte psát HÁČKY a ČÁRKY apod.!(Mezery ano) !!! Vyuziti GUI v praxi GUI vyuzijete hodne napr. pokud chcete psat delsi texty , nebo proste informace , ktere by se do chatu vypsat nehodily, nebo pokud chcete udělat Login Panel , nebo Panel pro nakupování ... A GUI není jen náhrada chatu ! Zmena textu Urcite jste nekdy chteli zmenit text v GUI , ale napr. po kliknuti na tlacitko. Pouzijte guiSetText , kde staci napsat pouze gui-element, a text v " ". syntax : guiSetText(gui-element,"text") priklad : guiSetText(tlacitko,"Novej text") Vyuziti v praxi Zmena jazyku pri kliknuti na tlacitko - asi typicke vyuziti, napisete v Anglictine , ale muzete cist i v Cestine. "Dalsi strana" - taky se muze vyuzit , kliknete na tlacitko a text se zmeni , jako "dalsi stranka". Images / Obrázky Jiste , obrazky. Taky je muzete dat do svych oken , jako vyzdobu nebo jako okno samotne. -Pouzivejte obrazky s formatem .png ! -Nezapomente ze guieditor a vas script jsou rozdilne veci ! -> Zapsat soubor / obrazek do meta.xml ! Příklad GUI Jako příklad uvedu muj help panel , ktery samozrejmne sem nedam cely ![]() Muzete si jej i vyzkouset , staci vytvorit soubor .lua , do nej to zkopirovat, potom vytvorit / "ukrast" odnekud meta.xml, kde bude type="script" a <script src="" bude type="client" . Okno zobrazite prikazem /uhelp. Code: function showHelpWindow() -- Funkce showCursor(true) -- Zobrazi kurzor mysi showChat(false) -- Skryje chat fadeCamera(false) -- Zatemni kameru setElementFrozen(source, true) -- Zmrazi hrace setTimer(helpGUI,1000,1) -- 1 sekunda do zobrazeni GUI end -- Konec funkce addCommandHandler("uhelp", showHelpWindow) -- Prida prikaz /uhelp function helpGUI() helpW = guiCreateWindow(121, 74, 590, 438, "", false) -- Vytvori okno guiWindowSetSizable(helpW, false) -- Nastavi okno neupravovatelne(velikost) guiSetAlpha(helpW, 0.95) -- Nastavi viditelnost okna => Alpha 0.95(95%) btn_Close = guiCreateButton(472, 389, 102, 35, "Close", false, helpW) -- Vytvori tlacitko Close text_Help = guiCreateLabel(258, 21, 120, 56, "Help", false, helpW) -- Vytvori text Help TabPanel = guiCreateTabPanel(14, 69, 560, 310, false, helpW) -- Vytvori Tab panel Tab_1_Main = guiCreateTab("Main", TabPanel) -- Vytvori tab 1 text_Main = guiCreateLabel(15, 20, 535, 191, "Bla bla bla, tento help panel je od FirstMn a slouzi jen jako priklad ! Opravdovy help panel najdete jen na mem serveru End Of the Word ! muhaha", false, Tab_1_Main) -- Vytvori a napise text end -- Konec funkce addEventHandler("onClientGUIClick", btn_Close, hideHelpWindow) -- Prida event pro tlacitko Close function hideHelpWindow() showCursor(false) -- Skryje kurzor showChat(true) -- Zobrazi chat setElementFrozen(source,false) -- Odfreezne(odmrazi) hrace fadeCamera(true) -- Odcerna obrazovku(zpet do normalu) destroyElement(helpW) -- "Znici" element helpW => "znici"/odstrani okno z obrazovky removeEventHandler("onClientGUIClick", btn_Close, hideHelpWindow) -- odstrani event end -- Konec funkce Vzor - jak vypadá GUI -> Prvni je help panel ,druhy missions panel. Spoiler: show Závěr GUI je opravdu lehké, stačí myslet na pár pravidel, a hravě umíte GUI. |
Page 1 of 1 | All times are UTC + 1 hour [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |