我使用C#和DirectX制作了一个简单的二维游戏引擎,并在测试时完全实现了功能。我有一个使用QueryPerformanceCounter的Timer对象,但我不知道哪个更好的选择:在游戏循环中只使用一个计时器来更新游戏中的所有内容,还是每个需要计时器的对象都有一个独立的计时器。我的担忧是当我尝试实现线程时,计时器会发生什么?同步会发生什么?
对于每个游戏对象,最好都有一个更新(用户交互和其他计算,如hittest)和绘制函数。您的计时器应该调用最上层的Update方法,而该方法将调用每个对象的更新方法。 绘图可以使用另一个计时器或仅使用while循环直到游戏结束。 我选择只有一个更新计时器。 关于定时器的区别; 比较计时器类