是否有任何快速和简单的方法,使XNA的Farseer物理引擎可见所有的身体?

我只是想能够在屏幕上看到我所有的身体用于debugging目的,我不能想到一个简单的方法,例如,我已经做了一些弧形附加弧边装置,我只是想看看他们的样子!

Farseer提供了一个物理视图,幸好它只需要很less的智力来实现和使用。

如果您在下载页面下载了“Farseer Physics Engine 3.3.1 Samples XNA”推荐软件包,您会看到很多示例。

导航到(或点击这些方便的链接到codeplex页面:P) SamplesXNA/SamplesXNA/ScreenSystem/PhysicsGameScreen.cs查看SamplesXNA/SamplesXNA/ScreenSystem/PhysicsGameScreen.cs示例用法。

这归结于:

 FarseerPhysics.Dynamic.World myWorld; // initialize myWorld... var myDebugView = new FarseerPhysics.DebugViews.DebugViewXNA(myWorld); 

然后你可以在其上设置标志来确定可见的东西:

 myDebugView.RemoveFlags(DebugViewFlags.Shape); myDebugView.RemoveFlags(DebugViewFlags.Joint); myDebugView.DefaultShapeColor = Color.White; myDebugView.SleepingShapeColor = Color.LightGray; 

Farseer带有一个debugging环境。 有两种方法可以做你想做的事情。 第一种方法是在他们出货的testing环境中复制您的情况。 它将显示所有相关的内容。 这是我用于我的游戏的技术。

另一种方法是将他们制作的debugging环境集成到游戏中,这个稍微复杂一点,我还没有尝试过,但是如果我理解正确,应该可以在项目中看看,看看你可以混搭:)

更新:如果真的如迈克尔说的那么简单,那么你一定要这样做,看起来比我所做的要好得多。