コード例 #1
0
        public ItemTile(Vector2 p, float l, ItemTileType t)
        {
            this.tile = texture = Game1.content.Load<Texture2D>("Sprites/kenney_32x32");
            this.Position = p;
            layer = l;
            type = t;

            if (t == ItemTileType.Blank)
                rect = new Rectangle(0, 0, 1, 1);
            else if (t == ItemTileType.Block)
                rect = new Rectangle(1473, 702, 32, 32);
            // rect = new Rectangle(290, 160, 32, 32);
            //rect = new Rectangle(12, 0, 32, 32);
            else if (t == ItemTileType.BlockC)
                rect = new Rectangle(1473, 734, 32, 32);
            else if (t == ItemTileType.DarkBrick)
                rect = new Rectangle(1824, 512, 32, 32);

            //Set rigidbody behaivior here
            rigidbody = BodyFactory.CreateRectangle(Game1.world, ConvertUnits.ToSimUnits(rect.Width), ConvertUnits.ToSimUnits(rect.Height), 1.0f, ConvertUnits.ToSimUnits(Position)); //default 1:64 ratio 1 meter = 64 pixel
            rigidbody.BodyType = BodyType.Kinematic;
            rigidbody.UserData = (string)"Tile";
            rigidbody.Restitution = 0f; // No bounciness
            rigidbody.Friction = 1f;
            rigidbody.CollisionCategories = Category.Cat4; // <- cat4 is floor cat

            LoadBlock(p);
        }
コード例 #2
0
        public ItemTile(Vector2 p, float l, ItemTileType t)
        {
            this.tile     = texture = Game1.content.Load <Texture2D>("Sprites/kenney_32x32");
            this.Position = p;
            layer         = l;
            type          = t;

            if (t == ItemTileType.Blank)
            {
                rect = new Rectangle(0, 0, 1, 1);
            }
            else if (t == ItemTileType.Block)
            {
                rect = new Rectangle(1473, 702, 32, 32);
            }
            // rect = new Rectangle(290, 160, 32, 32);
            //rect = new Rectangle(12, 0, 32, 32);
            else if (t == ItemTileType.BlockC)
            {
                rect = new Rectangle(1473, 734, 32, 32);
            }
            else if (t == ItemTileType.DarkBrick)
            {
                rect = new Rectangle(1824, 512, 32, 32);
            }

            //Set rigidbody behaivior here
            rigidbody                     = BodyFactory.CreateRectangle(Game1.world, ConvertUnits.ToSimUnits(rect.Width), ConvertUnits.ToSimUnits(rect.Height), 1.0f, ConvertUnits.ToSimUnits(Position)); //default 1:64 ratio 1 meter = 64 pixel
            rigidbody.BodyType            = BodyType.Kinematic;
            rigidbody.UserData            = (string)"Tile";
            rigidbody.Restitution         = 0f;            // No bounciness
            rigidbody.Friction            = 1f;
            rigidbody.CollisionCategories = Category.Cat4; // <- cat4 is floor cat

            LoadBlock(p);
        }