Xna 如何从farseer顶点列表传递到VertexositionColorTexture数据顶点

Xna 如何从farseer顶点列表传递到VertexositionColorTexture数据顶点,xna,textures,vertex,farseer,Xna,Textures,Vertex,Farseer,我的问题开始于我在执行“顶点纹理”示例()时,如果可以将此“farseer顶点”传递给顶点数据(可在DrawUserIndexedPrimitions中使用),以便在alpha纹理上准备好修改顶点,我会弹出窗口 例如: 您可以在三角形条顶点数据上绘制纹理(在某些位置具有透明度),以便可以操纵这些点,从而如下所示断开图像的顺序: 正如您所看到的,A字母只是PNG文件上的一个普通图像,但在转换后,我发现它可以用于取消对图像的排序 请给出一些代码或链接到教程,可以帮助我解决这个问题 谢谢大家 p.D

我的问题开始于我在执行“顶点纹理”示例()时,如果可以将此“farseer顶点”传递给顶点数据(可在DrawUserIndexedPrimitions中使用),以便在alpha纹理上准备好修改顶点,我会弹出窗口

例如: 您可以在三角形条顶点数据上绘制纹理(在某些位置具有透明度),以便可以操纵这些点,从而如下所示断开图像的顺序:

正如您所看到的,A字母只是PNG文件上的一个普通图像,但在转换后,我发现它可以用于取消对图像的排序

请给出一些代码或链接到教程,可以帮助我解决这个问题

谢谢大家


p.D.我认为主要问题是如何仅从PolygonTools.CreatePolygon生成的顶点生成indexData和textureCoordination。

TexturedFixture polygon=fixture.UserData作为TexturedFixture

                    effect.Texture = polygon.Texture;
                    effect.CurrentTechnique.Passes[0].Apply();

                    VertexPositionColorTexture[] points;
                    int vertexCount;
                    int[] indices;
                    int triangleCount;

                    polygon.Polygon.GetTriangleList(fixture.Body.Position, fixture.Body.Rotation, out points, out vertexCount, out indices, out triangleCount);

                    GraphicsDevice.SamplerStates[0] = SamplerState.AnisotropicClamp;
                    GraphicsDevice.RasterizerState = new RasterizerState() { FillMode = FillMode.Solid, CullMode = CullMode.None, };

                    GraphicsDevice.DrawUserIndexedPrimitives<VertexPositionColorTexture>(PrimitiveType.TriangleList, points, 0, vertexCount, indices, 0, triangleCount);
effect.Texture=polygon.Texture;
effect.currentTechnical.Passes[0]。Apply();
VertexPositionColorTexture[]点;
int vertexCount;
int[]指数;
int三角计数;
polygon.polygon.gettriangelist(fixture.Body.Position、fixture.Body.Rotation、out points、out vertexCount、out index、out triangelcount);
GraphicsDevice.SamplerState[0]=SamplerState.AnistropicClamp;
GraphicsDevice.RasterizerState=new RasterizerState(){FillMode=FillMode.Solid,CullMode=CullMode.None,};
GraphicsDevice.DrawUserIndexedPrimitives(PrimitiveType.TriangleList,points,0,vertexCount,Index,0,triangleCount);
这样就行了