如何在一个轴(x或y)上镜像物体的固定,因为当我想仅在一个镜像中镜像时,会发生断言错误,但是当我在两个轴上镜像时,没有问题发生
public Vector2[][] getPolygons(String bodyName, float scaleX, float scaleY)
{
Vector2[][] vectors = null;
Element fixture;
Element semiPolygon;
float auxX, auxY;
this.element = reader.parse(xml);
fixture = this.element.getChildByName(bodyName);
vectors = new Vector2[fixture.getChildCount()][];
for(int child = 0; child < fixture.getChildCount(); child++)
{
semiPolygon = fixture.getChild(child);
vectors[child] = new Vector2[semiPolygon.getChildCount()];
for(int part = 0; part < semiPolygon.getChildCount(); part++)
{
auxX = semiPolygon.getChild(part).getFloatAttribute("x")*-scaleX;
auxY = semiPolygon.getChild(part).getFloatAttribute("y")*-scaleY;
vectors[child][part] = World.toGameCoordinates(auxX, auxY);
}
}
return vectors;
}
答案 0 :(得分:1)
必须以逆时针顺序指定多边形顶点。每次镜像形状时,绕线顺序都是相反的,所以只有一个镜像顺序会向后,如果你再镜像它就会没问题,就像你发现的那样。因此,如果您只镜像一个轴,则需要反转顶点的顺序。