- Dokumentacja
- Funkcje klienta
- isWorldPointVisible
Funkcja
isWorldPointVisible
Sprawdza, czy punkt świata jest na ekranie i nie zasłania go budynek ani teren. Zasłanianie jest sprawdzane w tle, więc wynik dla nowego punktu przychodzi po chwili. Do napisów i znaczników 3D, które nie mają być widoczne przez ściany.
Składnia
bool isWorldPointVisible(float x, y, z)Argumenty
x, y, zfloat- Punkt.
Zwraca
true, gdy punkt jest widoczny.
Przykład
addEventHandler("onClientRender", root, function()
local x, y, z = 2495, -1687, 15
if isWorldPointVisible(x, y, z) then
local sx, sy = getScreenFromWorldPosition(x, y, z)
if sx then dxDrawText("Grove Street", sx, sy) end
end
end)
Uwagi
Zasłanianie w tle. Nie musisz wołać processLineOfSight w każdej klatce; zasłanianie liczy gra w tle.
Zobacz też
setWorldPointOcclusionWłącza albo wyłącza sprawdzanie zasłaniania wisWorldPointVisible(false= punkty widoczne przez ściany, do debugowania).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.