雪碧无限期地向一个方向移动或被困在对角线上

时间:2013-11-19 12:00:26

标签: c#

我正在开展一个游戏项目,有一个帮助我入门的游戏项目。基础总体上非常有用,但是有一部分代码让我对如何正确操作感到困惑。

当运行此代码时,播放器精灵将无限期地向一个方向移动,直到使用另一个按键。如果添加了playerMoveY,它将在对角线中移动。

    private void Form1_KeyDown(object sender, KeyEventArgs e)
    {

       if (e.KeyCode == Keys.Left)
        {
            playerMoveX = -1;
        }
        else if (e.KeyCode == Keys.Right)
        {
            playerMoveX = 1;
        }

1 个答案:

答案 0 :(得分:2)

如果没有看到完整的代码,那么肯定很难说,但可能是因为您没有KeyUp事件来重置移动值。

与您创建KeyDown事件以使用Form1_KeyDown方法的方式类似,请为KeyUp

尝试类似的操作
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
   if (e.KeyCode == Keys.Left)
    {
        playerMoveX = 0;
    }
    else if (e.KeyCode == Keys.Right)
    {
        playerMoveX = 0;
    }
  }