2011-01-19 39 views
0

我正在創建2D遊戲的早期階段,這是我在業餘時間做的一件事。將紋理的邊緣提取到陣列中以進行碰撞檢測

對於這場比賽,我想創建破壞地形和希望我可以得到對此事的一些好的想法。我打算使用Farseer Physics來處理一些通用物理​​設備,例如盒子。

我的問題是,我不知道我應該如何使用物理引擎共創破壞的地形。

我最好的想法至今保持黑白圖像在內存中黑色代表某種類型的地面,然後繪製和消除這個形象的事情在遊戲的過程中發生改變。

則每次圖像變化嘗試與他們之間有一定的距離,提取邊緣的頂點,並用它們來創建物理引擎的多邊形。

不太清楚我應該怎麼做,因爲圖像可以有多邊形並獲得所有這些出多個小島嶼,甚至搞清楚這些島嶼是將複雜而快速。

An image of what I mean

+0

通過Google搜索甚至更多關於這個問題,我來找到,即時通訊尋找的是真正的凹多邊形求解器。這些發現之一的最好的例子是耳廓修剪方法:http://en.wikipedia.org/wiki/Polygon_triangulation#Ear_clipping_method。然而,這仍然讓我面臨識別多邊形島的問題。 – user1008841 2011-01-21 07:32:51

回答

0

我會使用舊版本的Farseer物理的availbale在downloadpage,最新的舊版本是2.1.3

然後看看就設在這裏對此事的文檔:http://www.farseergames.com/storage/farseerphysics/Manual2.1.htm#_Toc213068512

嘗試將地圖分割成更小的堆棧以保持重新創建儘可能小。並儘量不要編輯地形的各個像素,請使用RenderTarget2D

有其輸出頂點陣列的列表<>的Vertices.CreatePolygon()的過載。

我做了類似的事情,但與3D地形,但它只有大約64x64像素。