我已经在我的 2D XNA 平台游戏项目中实现了 Farseer 引擎。
我使用一块地形图像创建了一个身体,它可以很好地加载和绘制,我创建了第二个身体,它是玩家,它绘制但不做任何事情。
如何使 Player body 对象实际工作并应用重力并与地形对象碰撞?
我搜索了高低,似乎找不到很多关于如何使用 farseer 做基本工作的教程/指南。
我相信有一个名为 BodyType 的属性或类似的属性,您需要更改任何实际发生在身体上的事情。默认设置是身体不参与物理模拟,因此您需要更改它以使重力等功能起作用。
另一件值得注意的事情是,当引擎认为身体不会发生任何事情时,身体会自动进入睡眠状态,因此如果某些事情的行为与您期望的不同,请尝试更改值。
我建议您阅读Box2D 手册,因为 Farseer 在很大程度上复制了原始的 Box2D API。显然,内存管理之类的事情因 .Net 框架的工作方式而有所不同。一些实验可能是必要的。