Spring
function Spring(goalValue: State<Animatable>, speed: number?, dampingRatio: number?): Spring
Constructs and returns a new Spring state object, which follows the value of
goalValue. The value of this object is simulated physically, as if linked to
the goal value by a damped spring.
speed acts like a time multiplier; doubling speed corresponds to movement
which is twice as fast.
dampingRatio affects the friction; 0 represents no friction, and 1 is
just enough friction to reach the goal without overshooting or oscillating. This
can be varied freely to fine-tune how much friction or 'bounce' your motion has.
Parameters¶
goalValue: State<Animatable>- the goal value this object should approachspeed: number?- how fast this object should approach the goaldampingRatio: number?- scales how much friction is applied
Object Methods¶
get()¶
function Spring:get(): any
If dependencies are currently being detected (e.g. inside a computed callback), then this state object will be used as a dependency.
Example Usage¶
local position = State(UDim2.fromScale(0.25, 0.25))
local ui = New "Frame" {
Position = Spring(position, 25, 0.5)
}
local playerCount = State(0)
local smoothPlayerCount = Spring(playerCount)
local message = Computed(function()
return "Currently online: " .. math.floor(smoothPlayerCount:get())
end)