0

我正处于创建 2D 游戏的早期阶段,这是我业余时间要做的事情。

对于这个游戏,我想创造可破坏的地形,并希望我能得到一些关于这个问题的好主意。我计划将Farseer Physics用于一些通用物理​​,例如盒子。

我的问题是我不确定如何使用物理引擎创建可破坏的地形。

到目前为止,我最好的想法是在内存中保留一张黑白图像,其中黑色代表某种类型的地面,然后在游戏过程中随着事物的变化而绘制和删除该图像。

然后每次图像变化时尝试提取边缘的顶点,它们之间有一定的距离,并使用它们在物理引擎中创建多边形。

不太清楚我应该怎么做,因为图像可以有多个多边形小岛并将所有这些都拿出来,甚至弄清楚这些岛的位置很快就会变得复杂。

我的意思的图像

4

1 回答 1

0

我会在下载页面使用旧版本的 Farseer Physics,最新的旧版本是 2.1.3

然后查看有关此问题的文档:http: //www.farseergames.com/storage/farseerphysics/Manual2.1.htm#_Toc213068512

尝试将地图分割成更小的部分,以使重新创建的覆盖范围尽可能小。并尽量不要编辑地形的单个像素,使用RenderTarget2D.

Vertices.CreatePolygon()输出 Vertice 数组的 List<> 的重载。

我做了类似的事情,但使用 3D 地形,但它只有大约 64x64 像素大。

于 2011-11-21T09:06:47.800 回答