util.easing.quint_in_out
Shared
Applies a quintic ease-in-out — fifth-power acceleration then deceleration
Syntax
local result = util.easing.quint_in_out(
progress
)Quint easing applies a fifth-degree polynomial curve — the sharpest of the polynomial family.
- Extreme contrast — nearly frozen at rest, then launches with significant force.
- Best for — high-impact entrance and exit animations, dramatic score reveals.
Parameters
| Type | Name | Description |
|---|---|---|
float | progress | Interpolation factor, typically in the range [0, 1] |
Returns
| Type | Name | Description |
|---|---|---|
float | result | Eased progress value |
Examples
core.engine.print("info", util.easing.quint_in_out(0.0)) -- 0.0
core.engine.print("info", util.easing.quint_in_out(0.25)) -- near start
core.engine.print("info", util.easing.quint_in_out(0.5)) -- midpoint
core.engine.print("info", util.easing.quint_in_out(0.75)) -- near end
core.engine.print("info", util.easing.quint_in_out(1.0)) -- 1.0local result = util.easing.lerp(0, 100, util.easing.quint_in_out(0.5))
core.engine.print("info", result)local resolution = core.engine.get_resolution()
local duration = 1.5
local start_tick = core.engine.get_tick()
util.event.on("sandbox:draw", function()
local elapsed = (core.engine.get_tick() - start_tick) / 1000.0
local t = math.min(elapsed / duration, 1.0)
local x = util.easing.lerp(0, resolution[1], util.easing.quint_in_out(t))
core.engine.draw_circle({x, resolution[2]*0.5}, 16, {1, 1, 1, 1})
end)