一个简单的consol应用程序游戏,当前每次触发事件时都会使用计时器绘制图形。现在我对如何创建和使用课程感到满意,我想控制其他游戏方面的事件时间。
我的问题是,在一个应用程序中使用太多计时器会产生什么后果,或者只要事件不超过一圈就没关系? 如果是这样,是否有更好的类用于更改多个项目的迭代速度?
我在询问之前做过一般性研究,但我是编程的新手,可能没有找到正确的位置。如果在这里回答这个问题很麻烦,你能推荐一下我自己看的文档吗?
感谢您的帮助!
答案 0 :(得分:1)
游戏开发通常不在Console,WinForms或WPF中完成。游戏开发有自己的.NET(XNA)方法和.NET Core(https://www.microsoft.com/net/learn/apps/gaming)方法。对于某些情况并且具有非常强大的限制,它可能会有效,但通常不是最佳起点。
通常情况下,任何代码的最大危险都是“排除CPU"。
。”但是除非我弄错了,否则System.Timers.Timer也可能会使用多线程(很难保持这3-5个计时器)。这反过来会让你进入Race Conditons的精彩世界:https://en.wikipedia.org/wiki/Race_condition#Software
通常,游戏机不受种族条件的影响(纯粹的顺序设计),至少GUI系统只是略微成功(事件驱动系统的本质)。但是一旦你添加了多线程,就会打开闸门。
如果这是一种学习gamge开发的方法,从控制台开始是一个坏主意。
如果这是关于学习C#,从一个需要计时器的游戏开始是一个糟糕的主意。