- Dokumentacja
- Funkcje wspólne
- interpolateBetween
Funkcja
interpolateBetween
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)