M MY Multiplayer: Wiki
Lado
Tipo

interpolateBetween

Compartido

Interpola entre dos grupos de tres números siguiendo una curva de easing.

float, float, float interpolateBetween(float x1, y1, z1, float x2, y2, z2, float progress, string easingType [, float easingPeriod = 0.3, float easingAmplitude = 1, float easingOvershoot = 1.70158])

Parámetros

NombreTipoDescripción
x1, y1, z1floatLos valores de partida. También acepta un vec3.
x2, y2, z2floatLos valores de destino. También acepta un vec3.
progressfloatEl progreso, de 0 a 1.
easingTypestringLa curva de easing, como "Linear", "InOutQuad", "OutBounce" o "SineCurve".
easingPeriodfloatEl período de las curvas elásticas.por defecto 0.3
easingAmplitudefloatLa amplitud de las curvas elásticas y de rebote.por defecto 1
easingOvershootfloatCuánto se pasan del objetivo las curvas Back.por defecto 1.70158

Retorno

Los tres números interpolados. Con el progreso en 1 o más, son exactamente los de destino cuando la curva termina en ellos.

Ejemplo

local start = getTickCount()
addEventHandler("onClientRender", root, function()
    local progress = math.min((getTickCount() - start) / 2000, 1)
    local x, y = interpolateBetween(0, 0, 0, 400, 300, 0, progress, "InOutQuad")
    dxDrawText("Hello", x, y)
end)

Ver también