It is currently Wed 27. Nov 2024 2:00:27

All times are UTC + 1 hour [ DST ]




Post new topic  Post a reply   Page 1 of 1  [ 1 post ] 
Author Message

PostPosted: Sun 07. Apr 2013 17:57:14 
offline
'Monster Truck'
'Monster Truck'
User avatar

Joined: Sat 20. Oct 2012 11:22:39
Posts: 324
GUI

Ú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 :D .
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
Image


Závěr
GUI je opravdu lehké, stačí myslet na pár pravidel, a hravě umíte GUI.

___________________
O spoustě hráčů a lidí jsem si říkal že jsou kokoti, dementi apod.. Tento mně dost fascinoval a zaujal hned první místo !:
Jsi debil Ingnitione ! Je mi líto, ale zaujal jsi první pozici a to na pěkně dlouho


Top
   
 
Display posts from previous:  Sort by  
Post new topic  Post a reply   Page 1 of 1  [ 1 post ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
TOPlist
Powered by phpBB® Forum Software © phpBB Group

©MSHost.cz