- Dokumentacja
- Funkcje klienta
- getWorldFromScreenPosition
Funkcja
getWorldFromScreenPosition
Zamienia punkt na ekranie na punkt w świecie 3D leżący na zadanej odległości od kamery. Przydaje się np. do stawiania obiektów kursorem myszy.
Składnia
float, float, float getWorldFromScreenPosition(float x, float y, float depth)Argumenty
xfloat- Pozycja X na ekranie w pikselach.
yfloat- Pozycja Y na ekranie w pikselach.
depthfloat- Odległość od kamery w metrach.
Zwraca
Punkt x, y, z w świecie albo false.
Przykład
addEventHandler("onClientClick", root, function(button, state, sx, sy)
if button == "left" and state == "down" then
local x, y, z = getWorldFromScreenPosition(sx, sy, 10)
if x then outputChatBox(("%.1f %.1f %.1f"):format(x, y, z)) end
end
end)
Zobacz też
getScreenFromWorldPositionZamienia punkt w świecie na punkt na ekranie (piksele). Zwracafalse, gdy punkt jest za kamerą albo poza ekranem. Trzeci wynik to odległość od kamery. Przydaje się do napisów nad głowami.processLineOfSightSzuka pierwszej przeszkody na odcinku między dwoma punktami i zwraca szczegóły trafienia. Na kliencie pyta grę (teren, budynki, obiekty, auta, postacie, kolizje z plików .col) i zwraca dużo danych: punkt trafienia, element, normalną powierzchni, materiał, oświetlenie, część ciała lub pojazdu, a na życzenie także model obiektu mapy z położeniem. Każde wywołanie czeka ok. jedną klatkę gry; gdy świat jeszcze się wczytuje (ekran ładowania), od razu zwracafalse. Na serwerze liczy na uproszczonym modelu (kule elementów, bez terenu i budynków).