Advanced Spring lets you create spring class for every major Roblox & Luau datatype
Supported datatypes:boolean
,number
,BrickColor
,CFrame
,Color3
,ColorSequence
,NumberRange
,NumberSequence
,Rect
,UDim
,UDim2
,Vector2
,Vector3
. You can setinitial position,damping ratio andfrequency when creating new spring instance or by creating config file or by changingDEFAULT_SETTINGS
.
localSpring=require(path.to.this.module)-- Creates new spring class with optional initial position and settingslocalspring=Spring.new(Vector3.new())-- Sets new spring goalspring:Set(Vector3.new(4,2,0))-- Updates spring by delta secondsspring:Step(delta)-- Returns current spring positionpart.Position=spring:Get()-- Sets new goal, updates spring and returns current positionpart.Position=spring:All(Vector3.new(4,2,0),delta)
- CFrame - only position is supported (it may change in the future)
- ColorSequence & NumberSequence - only first and last keypoints are supported
Part of this code was written by @Fraktality