2015-05-15 177 views
0

我嘗試使用2個橢圓檢測碰撞,如果它們重疊。我必須旋轉橢圓,但我無法弄清楚它是如何工作的。我正在使用「com.badlogic.gdx.math.Ellipse」類,但它似乎沒有旋轉的方法。有任何想法嗎? Thx提前!Libgdx旋轉橢圓碰撞檢測

回答

0

不幸的是,LibGDX沒有橢圓內置旋轉函數。相反,我會採用旋轉不重要的圓,或者使用多邊形來檢查交集。

Polygons通過float值(頂點)數組形成,其中數組的每個偶數元素都是水平分量(x)和奇數,垂直分量(y)。

Polygon polygon1 = new Polygon(vertexSet1); 
Polygon polygon2 = new Polygon(vertexSet2); 

然後,通過使用Intersector,就可以檢查這些多邊形是否相交。頂點越多,形狀越精確。只要記住在頂點數組中有6個或更多的元素,因爲6個浮點數會給出3(x,y)點,這是多邊形所需的最小值。

if (intersector.overlapConvexPolygons(polygon1, polygon2) { 
    //do your intersection code 
} 

多邊形本身具有的命令來平移,縮放和旋轉,可以讓你上面提到的旋轉。