鼠标移动

    From Minecraft Parkour Wiki
    This page is a translated version of the page Mouse Movement and the translation is 100% complete.
    Other languages:

    鼠标移动表示光标在屏幕上的瞬时位移(以像素为单位):()。

    在《我的世界》中,鼠标移动代表视角的即时旋转(以角度表示):()。



    灵敏度

    灵敏度(s)是一个参数,用于改变视角的旋转速度。

    可以在“控制”菜单中更改此设置。

    • 默认灵敏度为“100%”(
    • 原版中最低的灵敏度是“0%”(
    • 原版中最高的灵敏度是“200%”(


    在1.8中, 计算如下:

    以同样的方式获得,如果打开了“鼠标反转”,则乘以-1。


    在默认灵敏度下(),鼠标移动一个像素转换为 0.15° 旋转。

    这意味着视角以 0.15° 的增量移动:如果要转 45°,则需要移动鼠标 300px。


    此外,s 理论上并不受 [0,1] 的限制,它可以取任何值(甚至是负值)

    您可以在 options.txt(.minecraft 文件夹中)中手动编辑 mouseSensitivity 的值

    请注意,服务器上可能允许也可能不允许修改 options.txt 文件。



    特殊的值

    由于可以将灵敏度设置为我们想要的任何值,因此调整灵敏度以匹配特定的旋转增量可能会很有趣。

    为了得到所需增量的灵敏度 ,我们可以使用逆公式:


    此表列出了一些特殊的旋转增量,以及 s 的相应值。

    s
    -0.3333333
    0.1° 0.3946504
    0.15° 0.5
    0.25° 0.6546926
    0.5° 0.9115013
    1.2350600
    45° 5.2452746
    180° 8.5221547

    偏航和俯仰

    偏航(水平旋转)和俯仰(垂直旋转)是跟踪实体头部旋转的浮点数

    转向是将偏航限制在 [-180,180],如F3所示。俯仰角自然夹在 [-90,90] 之间。

    鼠标移动直接修改玩家的偏航和俯仰:
    /* 在EntityRenderer.java中 */
    public void updateMouseMovement(...)
    {
        ... //忽略前面的代码
    
        float f = this.mc.gameSettings.mouseSensitivity * 0.6F + 0.2F;
        float mult = f * f * f * 8.0F;
        float dX = (float)this.mc.mouseHelper.deltaX * mult;
        float dY = (float)this.mc.mouseHelper.deltaY * mult;
    
        int i = 1;
        if (this.mc.gameSettings.invertMouse)
            i = -1;
    
        ... //如果为平滑相视角则应用过滤器
    
        this.mc.thePlayer.rotateEntity(dX, dY*i);
    }
    
    
    /* 在Entity.java中 */
    public void rotateEntity(float dX, float dY)
    {
        this.rotationYaw = this.rotationYaw + dX*0.15);
        this.rotationPitch = this.rotationPitch - dY*0.15;
        this.rotationPitch = MathHelper.clamp(this.rotationPitch, -90.0, 90.0);
    }
    


    虽然俯仰角被限制在 -90° 和 90° 之间,但偏航角并不像预想的那样限制在 -180° 和 180° 之间。

    这意味着偏航是无限的,如果你故意朝一个方向转动足够长的时间,则会产生一些意想不到的后果。


    由于它是一个浮点数,所以它的精度会随着它变大而变差,以至于它在大值时变得明显不稳定。

    • () 它只能以 0.5° 的增量增加。
    • () 它只能以 1° 的增量增加。


    在某些时候,偏航甚至可以扰乱运动并使玩家停止在原地

    这是因为偏航太大而无法转换为合适的角度(参见角度)。

    这种现象发生在 时。


    时,可能会导致游戏崩溃。