Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-07-16, 23:20


RezoT







Wiek: 30
Na forum: 4416 dni
Posty: 126
Nick w MP: RezoT

Piwa: 306

Respekt: 51

Ostrzeżeń: 40%
Witam mam taki kod:

Kod:

sW, sH = guiGetScreenSize()
x = 1024
y = 768

function renderDisplay()
dxDrawRectangle((107/x)*sW, (1/x)*sH, (304/x)*sW, (768/x)*sH, tocolor(0, 0, 0, 168), false)
end
addEventHandler("onClientRender", getRootElement(), renderDisplay)


Jest to kod aby Rectangle pokazywal sie na kazdej rozdzielczosci lecz nie dziala pomozcie lub dajcie jakis inny sposob na przypisywanie...

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-16, 23:53


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

mojeW,mojeH 640480
sW,sH guiGetScreenSize()
widthheight = (sW/mojeW), (sH/mojeH)


W miejsce mojeW mojeH wpisz swoj? rozdzielczo?c na kt?rej robi?e? gui a potem po prostu 800*width i 900*height

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 00:24


RezoT







Wiek: 30
Na forum: 4416 dni
Posty: 126
Nick w MP: RezoT

Piwa: 306

Respekt: 51

Ostrzeżeń: 40%
Kod:

mojeW,mojeH = 1024, 768
sW,sH = guiGetScreenSize()
width, height = (sW/mojeW), (sH/mojeH)

function renderDisplay()
dxDrawRectangle(107*width,1*height, 304*width, 768*height, tocolor(0, 0, 0, 168), false)
end
addEventHandler("onClientRender", getRootElement(), renderDisplay)


takie co? ??

Podpis
:) :)
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 00:36


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Tak.

[ Dodano: 2014-07-17, 00:36 ]
Oczywi?cie ka?dego GUI wykonuj na najmniejszej rozdzielczo?ci.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 01:22


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

Kiedy? kolega Wielebny podzieli? si? z nami dobrym sposobem na skalowanie.
Postu co prawda nie ma, ale za to brzy?ko zacytowa? post.

"Brzysiek" napisał/a:

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 sinie myl?, argument relative(ten ostatnito musi bytrue ;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 :D
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.


Na koniec dodam, ?e najlepiej skalowa? tylko pozycje X, Y na ekranie - rozmiar zostawi?. Wtedy b?dzie idealnie, szczeg?lnie je?eli wy?wietlamy obrazek.

@down
Widocznie s?abo mu pomog?e?, skoro w?tkotw?rca dalej ma problemy ze zrozumieniem. No i nie musi skalowa? na najmniejszych rozdzielczo?ciach, ale jest to zalecane, ze wzgl?du na graj?cych, ktorzy maja takowa rozdzielczo?? 640x480. 800x600 etc.

Ostatnio zmieniony przez Tey 2014-07-17, 02:27, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 01:36


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

No to o tym powiedzia?em ju?, ?e najlepiej robi? GUI w najmniejszych rozdzielczo?ciach.

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 16:09


GumiS0000







Wiek: 29
Na forum: 4555 dni
Posty: 98
Nick w MP: After

Piwa: 227

Respekt: 40

Ostrzeżeń: 20%
sWsH guiGetScreenSize() 

function renderDisplay() 
dxDrawRectangle(0/640*sW,0/480*sH,0/640*sW,0/480*sHtocolor(000168), falseend 
addEventHandler("onClientRender"getRootElement(), renderDisplay)


tam gdzie masz 0 wpisujesz swoja pozycje :)

Podpis
Jeśli pomogłem liczę na :piwo:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-17, 16:32


RezoT







Wiek: 30
Na forum: 4416 dni
Posty: 126
Nick w MP: RezoT

Piwa: 306

Respekt: 51

Ostrzeżeń: 40%
Pan Maszyna Dzi?ki wielkie za pomoc.
Jego spos?b by? najszybszy i naj?atwiejszy - zrobi?em login panel na rozdzielczo??i 1024x768 przypisa?em go wed?ug sposobu Maszyny i dzia?a jak powinnien na prawie wszystkich rozdzielczo??iach sprawdza?em... Masz piwko

Podpis
:) :)
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-18, 19:29


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Ma?a sugestia, a raczej rada - ka?dy ma teraz rozdzielczo?? wi?ksz? ni? 800x600 wi?c spokojnie ka?dy element GUI mo?esz robi? o wysoko?ci 700 oraz szeroko?ci 1000. Te? z drugiej strony nie przesadza?bym ze skalowaniem wszystkiego. Jak kto? zagl?da? na m?j serwer to ja szeroko?? i wysoko?? element?w pozostawi?em sta?? - jedynie co si? zmienia to pozycja (tak jak te? tutaj Tey wspomnia?) i p?ki co sprawdza to si?.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Tagi: przypisowanie :: kazdej :: rozdzielczosci
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku