如何仅从点阵列制作纹理2D。(XNA,Farseer物理引擎)

如何仅从点阵列制作纹理2D。(XNA,Farseer物理引擎),xna,polygon,texture2d,farseer,Xna,Polygon,Texture2d,Farseer,我使用Farseer物理引擎进行泵模拟。 在该示例中,它们始终使用texture2d格式。 但这个泵的形状只给出了点(x,y)阵列 我想从该点阵列生成多边形或纹理2D PolygoTools.CreatePolygon方法需要int[]和宽度,而不是点[] 我不知道如何用int[]和width生成多边形 请提供帮助。因此您希望从阵列创建纹理2D。。。陛下我将尝试解释我将如何尝试这一点,这是一个不起作用的例子,只是提示如何做 首先,您需要找到with和height,因此找到max X和max Y以

我使用Farseer物理引擎进行泵模拟。 在该示例中,它们始终使用texture2d格式。 但这个泵的形状只给出了点(x,y)阵列

我想从该点阵列生成多边形或纹理2D

PolygoTools.CreatePolygon方法需要int[]和宽度,而不是点[]

我不知道如何用int[]和width生成多边形


请提供帮助。

因此您希望从阵列创建纹理2D。。。陛下我将尝试解释我将如何尝试这一点,这是一个不起作用的例子,只是提示如何做

首先,您需要找到with和height,因此找到max X和max Y以创建空白纹理

Texture2D blankTexture = new Texture2D(GraphicsDevice, maxX, maxY, false, SurfaceFormat.Color);
然后循环纹理并从阵列中设置像素颜色

for(int i=0; i<blankTexture .width; i++)
{
  for(int j=0; j<blankTexture .height; j++)
  {
    // pixel = texture.GetPixel(i, j); 
    // loop over array, and if pointX in array = i and pointY in array = j then
    pixel.Color = Color.White; //
  }
}

for(int i=0;谢谢你。我试过这种方法。但是,没有GetPixel方法。我只有泵转子轮廓上的点,没有填充体,没有连接线。但是这有助于找到其他方法。我将尝试其他方法。谢谢。