SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje klienta
  3. dxDrawLine3D

Funkcja

dxDrawLine3D

Rysuje odcinek między dwoma punktami świata: rzutuje je na ekran i łączy linią. Rysuje tylko, gdy oba końce są na ekranie, i nie jest zasłaniany przez budynki.

Składnia

bool dxDrawLine3D(float startX, startY, startZ, float endX, endY, endZ [, int color = tocolor(255, 255, 255), float width = 1, bool postGUI = false, bool smooth = false])

Argumenty

startX, startY, startZfloat
Początek w świecie.
endX, endY, endZfloat
Koniec w świecie.
colorint, opcjonalny = tocolor(255, 255, 255)
Kolor.
widthfloat, opcjonalny = 1
Grubość w pikselach.
postGUIbool, opcjonalny = false
Nad GUI.W MTA:SA inna wartość domyślna: bool/string stage = "postfx"
smoothbool, opcjonalny = false
true = linia wygładzona: gładkie krawędzie bez schodków i zaokrąglone końce, więc kolejne odcinki (np. ścieżka po ziemi) łączą się bez przerw.Nie ma go w MTA:SA

Różnice względem MTA:SA

  • Argumenty zaznaczone innym kolorem różnią się od MTA:SA.

W MTA:SA

dxDrawLine3D(float startX, float startY, float startZ, float endX, float endY, float endZ, int color = 0xFFFFFFFF, float width = 1.0, bool/string stage = "postfx")

Zwraca

true, gdy narysowano.

Przykład

addEventHandler("onClientRender", root, function()
    local x, y, z = getElementPosition(localPlayer)
    dxDrawLine3D(x, y, z, x, y, z + 5, tocolor(255, 0, 0), 3)
end)

Uwagi

Odcinek z jednym końcem za kamerą albo poza ekranem jest przycinany (do płaszczyzny 0,6 m przed kamerą i do krawędzi ekranu), więc rysuje się widoczna część, a nie nic.

Zobacz też