Как сделать texture2d из точечного массива.(XNA, Farseer Physics Engine)
Я использую Farseer Physics Engine для симуляции насоса. В этом примере они всегда используют формат texture2d. Но эта форма насоса задается просто Point(x,y) Array.
Я хочу сделать полигон или texture2d из этого массива точек.
Метод PolygonTools.CreatePolygon должен содержать int[] и width, а не point[].
Я не знаю, как сделать многоугольник по int[] и ширине.
пожалуйста помоги.
1 ответ
Так что вы хотите создать texture2d из массива... хм... я постараюсь объяснить, как я это попробую, это не рабочий пример, просто подсказка, как это сделать.
сначала вам нужно найти с помощью и 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; //
}
}
Я думаю, что это довольно дорогой процесс... но это может сработать.