繁体   English   中英

Windows窗体应用程序中的多个计时器

[英]multiple Timers in windows form application

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

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

射击的第二个计时器-此计时器在按下空格键时在事件“ onKeyPress”上设置为启用。 此计时器用于逐段绘制拍摄​​线。

第三个计时器是球员应该弹出的那个球,该计时器一直运行,它的最大目的是使球四处移动。

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

我该怎么做才能解决这个问题?

我建议对代码进行一些重构,如下所示:

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

例如:

拍摄按键的按键按下可能会执行以下操作:

_shootKeyDown = True

拍摄键的键盘可能会执行以下操作:

_shootKeyDown = False

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

If _shootKeyDown Then
    ...
End If

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

If _ballExists Then
    ...
End If

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM