Пример #1
0
        public static Body CreateCompoundPolygon(World world, List <Vertices> list, FP density, TSVector2 position, object userData = null)
        {
            Body body = BodyFactory.CreateBody(world, position);

            FixtureFactory.AttachCompoundPolygon(list, density, body, userData);
            return(body);
        }
Пример #2
0
        public static Body CreateCompoundPolygon(World world, List <Vertices> list, FP density, TSVector2 position, object userData = null)
        {
            //We create a single body
            Body polygonBody = CreateBody(world, position);

            FixtureFactory.AttachCompoundPolygon(list, density, polygonBody, userData);
            return(polygonBody);
        }
Пример #3
0
        public static List <Fixture> AttachSolidArc(FP density, FP radians, int sides, FP radius, TSVector2 position, FP angle, Body body)
        {
            Vertices vertices = PolygonTools.CreateArc(radians, sides, radius);

            vertices.Rotate((MathHelper.Pi - radians) / 2 + angle);
            vertices.Translate(ref position);
            vertices.Add(vertices[0]);
            List <Vertices> list = Triangulate.ConvexPartition(vertices, TriangulationAlgorithm.Earclip, true, FP.EN3);

            return(FixtureFactory.AttachCompoundPolygon(list, density, body, null));
        }