Ejemplo n.º 1
0
        public static Sprite CreateDog(
            Vector2 location,
            Texture2D texture,
            Vector2 velocity,
            float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["rover00"],
                                       velocity,
                                       BodyType.Dynamic,
                                       false);

            //FarseerPhysics.Common.Vertices verts = new FarseerPhysics.Common.Vertices();

            Fixture bodyfixture = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(sprite.BoundingBoxRect.Width), ConvertUnits.ToSimUnits(sprite.BoundingBoxRect.Height), 1, Vector2.Zero, sprite.PhysicsBody);

            bodyfixture.Restitution = 1;
            bodyfixture.Friction    = 1;

            SpriteCreators.AddFrames(sprite, "rover", 12);

            sprite.Rotation = rotation;

            return(sprite);
        }
Ejemplo n.º 2
0
        public static Sprite CreateCat(
            Vector2 location,
            Texture2D texture,
            Vector2 velocity,
            float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["cat00"],
                                       velocity,
                                       BodyType.Dynamic,
                                       true);

            SpriteCreators.AddFrames(sprite, "cat", 10);

            /*
             * for (int i = 1; i <= 10; i++)
             * {
             *  string key = "cat" + i.ToString().PadLeft(2, '0');
             *  sprite.AddFrame(SpriteCreators.spriteSourceRectangles[key]);
             * }
             */

            sprite.Rotation = rotation;

            return(sprite);
        }
Ejemplo n.º 3
0
        public static Sprite CreatePlane(Vector2 location,
                                         Texture2D texture,
                                         Vector2 velocity,
                                         float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["plane00"],
                                       velocity,
                                       BodyType.Static,
                                       false);

            //sprite.FrameTime = 0.06f;

            SpriteCreators.AddFrames(sprite, "plane", 3);
            sprite.Rotation = rotation;

            return(sprite);
        }
Ejemplo n.º 4
0
        public static Sprite CreateSun(Vector2 location,
                                       Texture2D texture,
                                       Vector2 velocity,
                                       float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["sun00"],
                                       velocity,
                                       BodyType.Static,
                                       true);

            sprite.PhysicsBody.CollidesWith = Category.None;
            sprite.FrameTime = 0.06f;

            SpriteCreators.AddFrames(sprite, "sun", 4);
            sprite.Rotation = rotation;

            return(sprite);
        }
Ejemplo n.º 5
0
        public static Sprite CreateDog(
            Vector2 location,
            Texture2D texture,
            Vector2 velocity,
            float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["rover00"],
                                       velocity,
                                       BodyType.Dynamic,
                                       false);


            //FarseerPhysics.Common.Vertices verts = new FarseerPhysics.Common.Vertices();

            SpriteCreators.AddFrames(sprite, "rover", 12);

            sprite.Rotation = rotation;

            //option 1 with two fixtures
            //rects
            //45, 16, 153, 114
            //0, 60, 45, 70
            //sprite.PhysicsBodyFixture = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(153), ConvertUnits.ToSimUnits(114), 1, ConvertUnits.ToSimUnits(new Vector2(45, 16)), sprite.PhysicsBody);
            //sprite.PhysicsBodyFixture = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(45), ConvertUnits.ToSimUnits(70), 1, ConvertUnits.ToSimUnits(new Vector2(0, 60)), sprite.PhysicsBody);
            //option 2 with one fixture
            //rects
            //16, 12, 175, 125
            sprite.PhysicsBodyFixture          = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(175), ConvertUnits.ToSimUnits(100), 10, ConvertUnits.ToSimUnits(new Vector2(16, 12)), sprite.PhysicsBody);
            sprite.PhysicsBodyFixture.Friction = 15f;

            sprite.PhysicsBodyFixture.OnCollision += new OnCollisionEventHandler(sprite.HandleCollision);

            sprite.PhysicsBody.Mass = 30f;

            return(sprite);
        }
Ejemplo n.º 6
0
        public static Sprite CreateCat(
            Vector2 location,
            Texture2D texture,
            Vector2 velocity,
            float rotation)
        {
            Sprite sprite = new Sprite("sprite",
                                       location,
                                       texture,
                                       SpriteCreators.spriteSourceRectangles["cat00"],
                                       velocity,
                                       BodyType.Dynamic,
                                       false);

            SpriteCreators.AddFrames(sprite, "cat", 10);

            sprite.Frame = rand.Next(0, 10);

            /*
             * for (int i = 1; i <= 10; i++)
             * {
             *  string key = "cat" + i.ToString().PadLeft(2, '0');
             *  sprite.AddFrame(SpriteCreators.spriteSourceRectangles[key]);
             * }
             */

            sprite.Rotation = rotation;

            //rects
            //9, 19, 95, 111

            sprite.PhysicsBodyFixture              = FixtureFactory.AttachRectangle(ConvertUnits.ToSimUnits(95), ConvertUnits.ToSimUnits(100), 1, ConvertUnits.ToSimUnits(new Vector2(9, 10)), sprite.PhysicsBody);
            sprite.PhysicsBodyFixture.OnCollision += new OnCollisionEventHandler(sprite.HandleCollision);

            return(sprite);
        }