KeyboardInput.java

net.minecraft.client.player.KeyboardInput

信息

  • 全限定名:net.minecraft.client.player.KeyboardInput
  • 类型:public class
  • 包:net.minecraft.client.player
  • 源码路径:src/main/java/net/minecraft/client/player/KeyboardInput.java
  • 起始行号:L10
  • 继承:ClientInput
  • 职责:

    TODO

字段/常量

  • options
    • 类型: Options
    • 修饰符: private final
    • 源码定位: L11
    • 说明:

      TODO

内部类/嵌套类型

构造器

public KeyboardInput(Options options) @ L13

  • 构造器名:KeyboardInput
  • 源码定位:L13
  • 修饰符:public

参数:

  • options: Options

说明:

TODO

方法

下面的方法块按源码顺序生成。

private static float calculateImpulse(boolean positive, boolean negative) @ L17

  • 方法名:calculateImpulse
  • 源码定位:L17
  • 返回类型:float
  • 修饰符:private static

参数:

  • positive: boolean
  • negative: boolean

说明:

TODO

public void tick() @ L25

  • 方法名:tick
  • 源码定位:L25
  • 返回类型:void
  • 修饰符:public

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class KeyboardInput extends ClientInput {
    private final Options options;
 
    public KeyboardInput(Options options) {
        this.options = options;
    }
 
    private static float calculateImpulse(boolean positive, boolean negative) {
        if (positive == negative) {
            return 0.0F;
        } else {
            return positive ? 1.0F : -1.0F;
        }
    }
 
    @Override
    public void tick() {
        this.keyPresses = new Input(
            this.options.keyUp.isDown(),
            this.options.keyDown.isDown(),
            this.options.keyLeft.isDown(),
            this.options.keyRight.isDown(),
            this.options.keyJump.isDown(),
            this.options.keyShift.isDown(),
            this.options.keySprint.isDown()
        );
        float forwardImpulse = calculateImpulse(this.keyPresses.forward(), this.keyPresses.backward());
        float leftImpulse = calculateImpulse(this.keyPresses.left(), this.keyPresses.right());
        this.moveVector = new Vec2(leftImpulse, forwardImpulse).normalized();
    }
}

引用的其他类

  • Options

    • 引用位置: 参数/字段
  • ClientInput

    • 引用位置: 继承
  • Input

    • 引用位置: 构造调用
    • 关联成员: Input()
  • Vec2

    • 引用位置: 构造调用
    • 关联成员: Vec2()