关键事件滞后

时间:2014-03-28 10:55:03

标签: vb.net keydown lag

我最近一直在使用VB.net 2008进行游戏,一切进展顺利。

在我的游戏中,应用程序会听左箭头键向左移动角色并听右箭头键向右移动角色,但如果我按住右键然后快速向上移动我的手向左移动箭头并单击左键,角色停止移动约0.75秒。这种滞后使得使用我的应用程序的感觉非常糟糕。我能做什么?

代码:

Private Sub eb7chimie_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        switcher(e.KeyCode)
    End Sub
Private Sub switcher(ByVal keycode As String)

        Select Case True
            Case keycode.Equals(String.Format(Keys.Left))
                'Left Arrow
                leftarrow()
            Case keycode.Equals(String.Format(Keys.Up))
                'UpArrow
            Case keycode.Equals(String.Format(Keys.Right))
                'RightArrow
                RightArrow()
            Case keycode.Equals(String.Format(Keys.Down))
                'DownArrow
            Case keycode.Equals(String.Format(Keys.Escape))
                'Escape
                pause()
        End Select  

P.S:

  1. 此表单名称为eb7chimie
  2. 选择的情况可能看起来很奇怪我正在使用正常的开关,我按照这个建议: VB.NET How give best performance "Select case" or IF... ELSEIF ... ELSE... END IF
  3. 我尝试做了什么:

    我搜索了这个问题并尝试打开我的表单的KeyPreview属性并尝试打开并Application.DoEvents()但没有一个工作。

0 个答案:

没有答案