C# OpenTK GetState函数返回不正确的值

C# OpenTK GetState函数返回不正确的值,c#,opentk,C#,Opentk,OpenTK的GetState函数返回的值不正确 下面的代码计算鼠标自上一帧以来移动的距离,写入控制台的x距离 Vector2 lastMousePos; public static void MouseLook(Game game) { Vector2 delta = lastMousePos - new Vector2(OpenTK.Input.Mouse.GetState().X, OpenTK.Input.Mouse.GetState().

OpenTK的
GetState
函数返回的值不正确

下面的代码计算鼠标自上一帧以来移动的距离,写入控制台的x距离

    Vector2 lastMousePos;

    public static void MouseLook(Game game)
    {   
        Vector2 delta = lastMousePos - new Vector2(OpenTK.Input.Mouse.GetState().X, OpenTK.Input.Mouse.GetState().Y);
        lastMousePos += delta;

        Console.WriteLine (delta.X);
    }
但是,以大致恒定的速率滚动鼠标会产生以下值:

17
0
18
0
18
12
11
20
0
31
0
34
0
26
0
19

当鼠标移动时,这些零值会引起明显的震动。你知道是什么导致了这些问题吗?

你有没有考虑到在这个框架上鼠标的位置确实没有改变?当然,这是可能的,这是个好主意,我会调查一下。现在,我对最后5个职位进行了平均,它解决了这个问题。