0

我试图在 c# Visual Studio 2010 中创建一个小游戏。我试图在 Windows 窗体应用程序中制作类似游戏 Bubble Trouble 的东西。

我从工具箱中创建了一个带有 3 个计时器的表单。一个用于玩家的移动(他通过更改标签的图像来移动它的腿) - 此计时器设置为在事件 OnKeyDown 时启用,并在事件 onKeyUp 时停止。

拍摄的第二个计时器 - 当按下空格键时,此计时器设置为在事件“onKeyPress”上启用。而这个计时器是用来逐条绘制射击线的。

第三个计时器是针对球员应该弹出的球——这个计时器一直在运行,它的目的是让球四处移动。

但是我发现的问题是,当我增加球计时器的间隔时,当其他计时器设置为启用时,它们都会变得非常慢。

我能做些什么来解决这个问题?

4

1 回答 1

0

我建议重新考虑您的代码,如下所示:

  1. 而不是在 keydown 和 keyup 事件中启用和禁用计时器,而是更改模块级状态变量的值。

例如:

射击键的按键可能会:

_shootKeyDown = True

拍摄键的键位可能会:

_shootKeyDown = False

然后,您可以在一个计时器事件中处理所有需要更新的元素,该事件以您想要的任何时间间隔发生。

If _shootKeyDown Then
    ...
End If

If _playerDirection <> "" Then
    ...
End If

If _ballExists Then
    ...
End If
于 2013-04-08T01:41:26.217 回答