SmoothDouble.java
net.minecraft.util.SmoothDouble
信息
- 全限定名:net.minecraft.util.SmoothDouble
- 类型:public class
- 包:net.minecraft.util
- 源码路径:src/main/java/net/minecraft/util/SmoothDouble.java
- 起始行号:L3
- 职责:
TODO
字段/常量
-
targetValue- 类型:
double - 修饰符:
private - 源码定位:
L4 - 说明:
TODO
- 类型:
-
remainingValue- 类型:
double - 修饰符:
private - 源码定位:
L5 - 说明:
TODO
- 类型:
-
lastAmount- 类型:
double - 修饰符:
private - 源码定位:
L6 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public double getNewDeltaValue(double targetDelta, double time) @ L8
- 方法名:getNewDeltaValue
- 源码定位:L8
- 返回类型:double
- 修饰符:public
参数:
- targetDelta: double
- time: double
说明:
TODO
public void reset() @ L22
- 方法名:reset
- 源码定位:L22
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class SmoothDouble {
private double targetValue;
private double remainingValue;
private double lastAmount;
public double getNewDeltaValue(double targetDelta, double time) {
this.targetValue += targetDelta;
double delta = this.targetValue - this.remainingValue;
double newLastAmount = Mth.lerp(0.5, this.lastAmount, delta);
double deltaSign = Math.signum(delta);
if (deltaSign * delta > deltaSign * this.lastAmount) {
delta = newLastAmount;
}
this.lastAmount = newLastAmount;
this.remainingValue += delta * time;
return delta * time;
}
public void reset() {
this.targetValue = 0.0;
this.remainingValue = 0.0;
this.lastAmount = 0.0;
}
}引用的其他类
- Mth
- 引用位置:
方法调用 - 关联成员:
Mth.lerp()
- 引用位置: