# interpolateBetween (Compartido)

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

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Compartido
- **Categoría**: Datos y utilidades
- **URL**: https://wiki.mymp.gg/es/interpolateBetween

## Sintaxis

```lua
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

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `x1, y1, z1` | `float` | Los valores de partida. También acepta un `vec3`. |
| `x2, y2, z2` | `float` | Los valores de destino. También acepta un `vec3`. |
| `progress` | `float` | El progreso, de 0 a 1. |
| `easingType` | `string` | La curva de easing, como `"Linear"`, `"InOutQuad"`, `"OutBounce"` o `"SineCurve"`. |
| `easingPeriod` | `float` | El período de las curvas elásticas. *(por defecto: `0.3`)* |
| `easingAmplitude` | `float` | La amplitud de las curvas elásticas y de rebote. *(por defecto: `1`)* |
| `easingOvershoot` | `float` | Cuá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

```lua
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

- [getEasingValue (Compartido)](https://wiki.mymp.gg/es/getEasingValue.md): Calcula el valor de una curva de easing en un punto del progreso.
- [moveObject (Compartido)](https://wiki.mymp.gg/es/moveObject.md): Mueve un objeto suavemente hasta una posición, girándolo por el camino.
