M MY Multiplayer: Wiki
Lado
Tipo

interpolateBetween

Compartilhado

Interpola entre dois conjuntos de três números seguindo uma 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

NomeTipoDescrição
x1, y1, z1floatOs valores de partida. Também aceita um vec3.
x2, y2, z2floatOs valores de destino. Também aceita um vec3.
progressfloatO progresso, de 0 a 1.
easingTypestringA curva de easing, como "Linear", "InOutQuad", "OutBounce" ou "SineCurve".
easingPeriodfloatO período das curvas elásticas.padrão 0.3
easingAmplitudefloatA amplitude das curvas elásticas e de quique.padrão 1
easingOvershootfloatQuanto as curvas Back passam do alvo.padrão 1.70158

Retorno

Os três números interpolados. Com o progresso em 1 ou mais, são exatamente os de destino quando a curva termina neles.

Exemplo

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)

Veja também