我正在设计一个游戏,并考虑使用WPF来制作一个基本游戏的简单原型。
在WPF中实时渲染基本的2D图形是可能的吗?所谓基本图形,我指的是简单的形状,如线、圆等。所谓“实时”,我指的是根据参数渲染,如速度、加速度等,这些参数会根据玩家的输入而变化--我想这意味着我不能使用故事板来制作动画。
谢谢
发布于 2012-05-13 21:20:43
请查看前面的问题High Performance Graphics using the WPF Visual Layer,以获得相关的讨论。虽然WPF为丰富的矢量图形提供了一个很好的框架,但它缺乏实时2D性能。
例如,根据场景的复杂性,您可以使用DrawingVisuals或虚拟化形状类(WPF Vector graphics)来绘制精灵,这取决于场景的复杂性。在更低的层次上,你可以使用.NET4.0中的BitmapCache模式缓存精灵,或者将它们预先呈现到位图中,并使用各种optimization patterns来提高吞吐量。
在更低的层次上,您可以使用fantantastic WriteableBitmapEx项目混合矢量/光栅图形,或者使用D3DImage混合矢量/图形处理器图形。
关于如何更新你的场景,你需要编写一个原始的游戏引擎,在CompositionTarget.Rendering事件中(在屏幕重绘时触发),你会得到更新的参数并计算你的精灵的位置/方向。可能对此有所帮助的是这个伟大的codeplex project,它集成了WPF/Silverlight和Farseer物理。
https://stackoverflow.com/questions/10571999
复制相似问题