Wysłany: 2012-11-23, 19:41
pidbulxd
Wiek: 28 Na forum: 5230 dni Posty: 135
Nick w MP: Word
Piwa : 540
Witajcie, jak robie gui na mojej rozdzielczosci <1280x720>, gracze z mniejsza rozdzielczoscia widz? p?? lub prawie nic. Co zrobi? aby ka?dy widzia? tak samo?
Wysłany: 2012-11-23, 20:16
Brzysiek
Skrypter pralek
Wiek: 27 Na forum: 5198 dni Posty: 488
Nick w MP: Brzysiek
Piwa : 1034
U?ywasz funkcji guiGetScreenSize. Dam ci przyk?ad na guiCreateWindow :
local rozdzielczoscX = 1280 -- twoja rozdzielczosc
local rozdzielczoscY = 720
local sWidth , sHeight = guiGetScreenSize ( )
guiCreateWindow ( ( 354 / rozdzielczoscX )* sWidth ( 342 , ( 0 / rozdzielczoscY )* sHeight , ( 0.5 / rozdzielczoscX )* sWidth , ( 0.4 / rozdzielczoscY )* sHeight , "kocham klocucha12 <33" , true ) -- o ile si ? nie myl ?, argument relative ( ten ostatni ) to musi by ? true ; x
Od teraz, okno jest dopasowane do wszystkich rozdzielczo?ci.
Liczby s? totalnie losowe. (pierwsza liczba, przed np rozdzielczoscX to warto?? relatywna(?), zwracaj? si? np w guieditorze).
By?o ju? du?o temat?w o tym, sam szuka?em
Ja ni umiem t?umaczy? za bardzo, patrzaj na wypowied? Wielebnego.
"Wielebny" napisał/a :Prawid?owy spos?b:
Projektujesz swoje GUI w jakiej? rozdzielczo?ci (ja zawsze robie w 640x480).
Wszystkie rozmiary i odleglosci nie podajesz jako wartosci absolutne, tylko przetwarzasz za pomoc? nastepuj?cego wzoru:
przeskalowany x = x podczas projektowania / szerokosc podczas projektowania * szerokosc ekranu gracza
przeskalowany y = y podczas projektowania / wysokosc podczas projektowania * wysokosc ekranu gracza
Przyk?adowy kod:
Kod:
dxDrawText("ten tekst jest po srodku ekranu w 640x480", 320,240)
local sw,sh=guiGetScreenSize()
dxDrawText("ten tekst jest po srodku ekranu w kazdej rozdzielczosci", 320/640*sw, 240/480*sh)
Te same wzory mo?esz zastosowa? r?wnie? do wysoko?ci i szeroko?ci element?w (r?wnoleg?ych do kraw?dzi ekranu), dzi?ki czemu rozmiar Twojego paska paliwa mo?e si? skalowa? do ka?dej rozdzielczo?ci i zawsze zajmowa? np. 1/3 wysoko?ci ekranu.
Wysłany: 2012-11-24, 10:49
pidbulxd
Wiek: 28 Na forum: 5230 dni Posty: 135
Nick w MP: Word
Piwa : 540
Brzysiek , czyli ka?dy przycisk, ka?de okienko musze tak robi? ?
Wysłany: 2012-11-24, 11:44
Brzysiek
Skrypter pralek
Wiek: 27 Na forum: 5198 dni Posty: 488
Nick w MP: Brzysiek
Piwa : 1034
Wystarczy, ?e zrobisz z u?yciem guiGetScreenSize jedno okno - wszystko, co w nim jest(przyciski, labele) b?d? dopasowane do wszystkich rozdzielczo?ci.
Je?li robisz np dxDrawRectangle, a w nim przyciski, to musisz wszystkie z osobna tak robi?.
Tagi: gui
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: