SerweryWłasny serwerDla twórcówForumFAQDokumentacjaBezpieczeństwo
Pobierz launcher
  1. Dokumentacja
  2. Funkcje wspólne
  3. interpolateBetween

Funkcja

interpolateBetween

Serwer i klientPozostałeIdentyczna z MTA:SA

Płynnie przechodzi od jednego trzyelementowego zestawu liczb do drugiego (np. pozycji albo koloru) według postępu 0-1 i krzywej jak w getEasingValue. Przyjmuje też dwa wektory Vector3.

Składnia

float, float, float interpolateBetween(float x1, float y1, float z1, float x2, float y2, float z2, float fProgress, string strEasingType [, float fEasingPeriod, float fEasingAmplitude, float fEasingOvershoot])

Argumenty

x1float
Pierwsza liczba początku.
y1float
Druga liczba początku.
z1float
Trzecia liczba początku.
x2float
Pierwsza liczba końca.
y2float
Druga liczba końca.
z2float
Trzecia liczba końca.
fProgressfloat
Postęp 0-1.
strEasingTypestring
Rodzaj krzywej.
fEasingPeriodfloat, opcjonalny
Okres.
fEasingAmplitudefloat, opcjonalny
Amplituda.
fEasingOvershootfloat, opcjonalny
Przestrzał.

Zwraca

Trzy liczby pośrednie.

Przykład

Kolor przechodzi z czerwonego w zielony w ciągu 2 sekund.

local start = getTickCount()
addEventHandler("onClientRender", root, function()
    local p = math.min(1, (getTickCount() - start) / 2000)
    local r, g, b = interpolateBetween(255, 0, 0, 0, 255, 0, p, "InOutQuad")
    dxDrawRectangle(20, 300, 120, 20, tocolor(r, g, b))
end)

Zobacz też