如何创建基本多边形?

时间:2015-04-23 14:01:04

标签: libgdx collision-detection overlap polygons

我想创建一个使用overlapse()与矩形碰撞的多边形。我唯一的问题是我不知道如何创建一个多边形,我的意思是一个多边形。每当我试图在互联网上找到它时,我发现有史以来最复杂的代码。所以,如果你能告诉我如何创建一个多边形并解释如何声明它的形状,我们将非常感激。

多边形看起来像这样:

注意:它应该是对称的,但我不确定我是否对称...

1 个答案:

答案 0 :(得分:0)

根据polygon类的documentation,你可以简单地使用它的构造函数来定义一个新的多边形。示例:

//we want to create a simple square shaped polygon
//we create an array to hold every vertex we need, there are 4 vertices
//this constructor uses 1 float array as parameter, where every two element define the position of 1 vertex
polygon = new Polygon(new float[]{ //so we pass a new float array to the constructor
                      0,0, //this is the x,y of the first vertex
                      width,0, //the second vertex
                      width,height, //the third
                      0,height}); //and the last

这是一个简单的例子,但您应该能够弄清楚如何扩展形状。我将再举一个例子来添加一个额外的顶点来创建一个“房屋形状”:

polygon = new Polygon(new float[]{ //so we pass a new float array to the constructor
                      0,0, //this is the x,y of the first vertex
                      width,0, //the second vertex
                      width,height, //the third
                      (width*0.5),(height*1.5), //this one is now extra, it adds one vertex between the last and the one before it
                      0,height}); //and the last

如果您需要更多信息,请与我们联系。