mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-23 20:53:39 +00:00
25 lines
717 B
C++
25 lines
717 B
C++
#include "../Platform/stdafx.h"
|
|
#include "SmoothFloat.h"
|
|
|
|
SmoothFloat::SmoothFloat() {
|
|
targetValue = 0.0f;
|
|
remainingValue = 0.0f;
|
|
lastAmount = 0.0f;
|
|
}
|
|
|
|
float SmoothFloat::getNewDeltaValue(float deltaValue,
|
|
float accelerationAmount) {
|
|
targetValue += deltaValue;
|
|
|
|
deltaValue = (targetValue - remainingValue) * accelerationAmount;
|
|
lastAmount = lastAmount + (deltaValue - lastAmount) * 0.5f;
|
|
if ((deltaValue > 0 && deltaValue > lastAmount) ||
|
|
(deltaValue < 0 && deltaValue < lastAmount)) {
|
|
deltaValue = lastAmount;
|
|
}
|
|
remainingValue += deltaValue;
|
|
|
|
return deltaValue;
|
|
}
|
|
|
|
float SmoothFloat::getTargetValue() { return targetValue; } |