我使用C#在WPF中创建了一个简单的车辆和弹丸模拟游戏。我需要有一个恒定的帧速率(即我需要知道在每个帧中以一定的速度移动一个物体需要多少时间)。通过这种方式,我可以订阅一个事件,根据游戏的物理位置计算并更新位置到CompositionTarget.Rendering事件。WPF中持续帧率游戏
CompositionTarget.Rendering += UpdatePositions;
我GOOGLE了一会儿,没有找到答案。 WPF seem to be arbitrary中的fps,并使用秒表来了解一帧和前一帧之间所经过的时间不会干净。
我想也创造我自己的帧速率,通过调用UpdatePositions每毫秒的一些量,并希望相应地发生渲染,有一个平滑的动画。这似乎是重新发明了轮子,我不能想到一种以干净和简单的方式实现这一点的方式。
谢谢!
除了最基本的游戏开发外,不要使用WPF。它真的不打算用于这种用途。如果你想用.NET创建游戏,你应该看看XNA框架。 – dlev
我认为这是最基本的游戏开发,我已经工作了很多,所以我真的需要理清我的帧率问题...... – Nicolas
“使用秒表来了解帧与帧之间经过的时间以前的一个根本就不会干净“ - 怎么样? – EboMike