2012-08-14 126 views
-1

我一直试图用win表单来创建蛇游戏,并且一直在使用箭头键移动我的按钮工具和事件处理方面遇到问题。如果有人能向我解释如何让它工作,将是非常有用的贪吃蛇游戏Win表格

+6

编辑您的问题以显示您当前尝试的代码。 – 2012-08-14 18:25:43

+0

什么是“按钮工具”? – 2012-08-14 18:49:26

回答

1

从你提供的信息非常有限,通常应该是处理包含你的游戏的Form的KeyDown事件。当表单具有焦点时,只要在按下按键时按下该按键,就会引发此事件。 (KeyPress事件需要在提升之前按下并释放键;同样的动作也会引发KeyDown和KeyUp的组合)。

处理KeyDown事件时,请检查KeyEventArgs的KeyData属性。该属性(只读)是一个标记的枚举(意味着它可以包含可用值的组合)。您需要查看是否按下了以下一项或多项:Keys.Up,Keys.Down,Keys.Left和Keys.Right。这些是箭头键。您也可以允许用户分别使用具有不同Keys枚举值的数字键盘键8,2,4和6。如果KeyData具有其中之一,请更改蛇的移动方向,并将KeyEventArgs的Handled属性设置为true,这将告诉任何其他响应按键的代码不会继续。这将防止与箭头键相关的默认行为导致问题。

了解用户可能会按多个箭头键。如果这些按键方向相反,或者您不允许朝一个方向移动,则需要决定如何处理这种情况。简单的解决办法是什么都不做。更复杂的解决方案是跟踪哪些箭头键当前被按下,如果按下了多个箭头键,则监听KeyUp事件,该事件会告诉您何时已释放一个或多个键,并且只在当前按下一个键时更改方向。

+0

对不起,我缺乏这方面的新信息,但是感谢你的帮助,并且检查它并试图找出如何处理这个项目 – david1597 2012-08-17 23:35:47