start method
void
start({})
初始化一次从 startValue 到 targetValue 的弹簧运动。
Implementation
void start({
required double startValue,
required double targetValue,
required double initialVelocity,
}) {
currentPosition = startValue;
_initialPosition = startValue;
_targetPosition = targetValue;
velocity = initialVelocity;
_initialVelocity = initialVelocity;
_springOperator = MiuixSpringOperator(
dampingRatio: MiuixSpringDefaults.criticalDampingRatio,
naturalPeriod:
initialVelocity.abs() > MiuixSpringDefaults.highVelocityThreshold
? MiuixSpringDefaults.slowerSpringPeriodForHighVelocity
: MiuixSpringDefaults.standardSpringPeriod,
);
}