Witam mam problem z ustawieniem pewnej funkcji w panelu logowania.. Po zrobieniu ca?ego GUI, nwm jak dodac funkcje "isMouseIn"
Ja zrobilem to tak, ale nwm czy dobrze:
Podpis
Aktualny projekt: LSgame
Na scenie MTA od: 2015 roku.
Discord: Chwilowoo, brak
T? funkcj? sprawdzasz czy tw?j kursor jest w koordynatach, kt?re podajesz w parametrach.
Najlepiej poszukaj jakiegokolwiek skryptu z gui na dx'drawach i przeanalizuj kod.
local sx, sy = guiGetScreenSize()
zwraca Ci to rozdzielczosc Twojego ekranu, ja gram na 1280x1024, wiec sx b?dzie mia?o 1280, a sy 1024
za???my teraz, ?e chce zrobi? co? na po?owie ekranu czyli:
640 to po?owa z 1280, 512 to po?owa z 1024, odejmuje jeszce od tych warto?ci po 100, bo rectangle to b?dzie kwadrat o wymiarach 200,200, a my go chcemy miec idealnie na po?owie ekranu.
I teraz tak, chcesz, aby u ka?dego by?y takie same wymiary, tak?
640-100, 512-100, 200, 200 na rozdzielczosci 1280x1024 da nam po uproszczeniu (wykonaniu dzia?a? ktore tam s?)
540, 412, 200, 200
a teraz podstawmy pod to wz?r kt?ry Ci da? marcin:
sx*540/1280, sy*412/1024
gracz gra na rozdzielczosci 800x600
800*540 = (432000 / 1280) = 337,5 < to jest pozycja X po wykonaniu tych dzia?a?
teraz obliczmy rozmiar (szerokosc), podalismy 200 wiec
800*200 = (160000 / 1280) = 125
800/2 = 400 - (125/2) = 337,5
wyszed? nam taki sam wynik (czyli na 800x600 tez ktos bedzie mial idealnie na srodku i bedzie mial podobny rozmiar do tego jaki jest na 1280x1024, oczywiscie podobny wizualnie)
troche chaotycznie opisane, ale teraz juz wiesz na czym polega to skalowanie, potem po prostu to podstawiasz w isMouseInPosition.
Podpis
Jedyny kontakt ze mną to PW forum
local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
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