我正处于创建2D游戏的早期阶段,这是我业余时间要做的事情。
对于这个游戏,我想创建可破坏的地形,并希望我能在这个问题上得到一些好的想法。我计划将Farseer Physics用于一些常规物理,例如盒子。
我的问题是我不确定如何与物理引擎一起创建可破坏的地形。
到目前为止,我最好的想法是在记忆中保留黑白图像,其中黑色表示某种类型的地面,然后在游戏过程中随着事物的变化而绘制并移除到此图像。
然后每次图像更改时,尝试提取边缘的顶点,它们之间有一定的距离,并使用它们在物理引擎中创建多边形。
不太确定我应该怎么做,因为图像可以有多个小的多边形岛并将所有这些都取出来,甚至可以确定这些岛的位置变得非常复杂。
答案 0 :(得分:0)
我在下载页面使用旧版本的Farseer Physics availbale,最新旧版本是2.1.3
然后查看此处的文档:http://www.farseergames.com/storage/farseerphysics/Manual2.1.htm#_Toc213068512
尝试将地图拆分为较小的pices,以使重新创建尽可能小。并尝试不编辑地形的各个像素,使用RenderTarget2D
。
有Vertices.CreatePolygon()
的重载输出List<> Vertice数组。
我做了类似但有3D地形的东西,但它只有大约64x64像素。