【问题标题】:I need a loop that runs one time a second forever我需要一个永远每秒运行一次的循环
【发布时间】:2019-02-13 17:28:32
【问题描述】:

我正在 Visual Studio C#.NET Windows Forms App 中制作点击游戏。我需要一个每秒运行一次的游戏循环,以便随着时间的推移处理金钱。这是我尝试过的代码enter image description here

【问题讨论】:

  • this的帖子
  • 我的猜测是你的游戏“崩溃”,但它确实“挂起”。有很大的不同。
  • 如果您可以显示您迄今为止尝试过的代码并提供您正在使用的平台的详细信息,这将很有用 - 例如。 WPF 或 WinForms 等 - 请编辑问题而不是添加为评论
  • “每秒一次”必须有多精确?例如,您是否正在运行时钟(这样一个小错误会随着时间的推移累积成一个大错误)?或者你只是有一个规范说“每秒更新一些 UI 元素”?
  • 如果您想知道为什么您会以 cmets、downvotes 和 close votes 的形式在此受到反对,可以在idownvotedbecau.se/noresearchidownvotedbecau.se/imageofcode 找到答案。此外,您似乎是一个极端的初学者程序员,但您想要做的是需要一些更高级的知识,特别是线程如何在 winforms 应用程序中工作。在你做任何其他事情之前,你应该阅读一本关于编写 winforms 应用程序的书,它会为你节省大量的精力和挫败感。

标签: c#


【解决方案1】:

如果您正在编写游戏,那么您真的应该考虑设置游戏循环。它们用于控制游戏的整个流程、检查状态以及更新值和 UI。那真的会帮助你。游戏循环的最大部分之一是更新基于时间的动作,这听起来像是您正在尝试做的事情。查看this link 了解有关游戏循环的介绍。

如果您使用的是游戏循环,您可以检查您的循环以查看自您添加最后一个现金以来是否已经过了一秒钟,如果是,则添加另一个现金。游戏循环就在其中!祝你好运

【讨论】:

  • 如果您认为这是一个合适的解决方案,那么对 OP 更有帮助的将是如何在 Winforms 应用程序中实现游戏循环的示例。就目前而言,这更适合作为评论而不是答案。
猜你喜欢
  • 2014-11-23
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 2019-09-04
  • 1970-01-01
  • 2022-01-13
相关资源
最近更新 更多