示例#1
0
        private void CreateScene3()
        {
            // add a chain
            List<BoxObject> chainBoxes = new List<BoxObject>();

            for (int i = 0; i < 25; i++)
            {
                BoxObject boxObject = new BoxObject(this, boxModel, Vector3.One, Matrix.Identity, new Vector3(i, 25 - i, 0));
                if (i == 0) boxObject.PhysicsBody.Immovable = true;
                chainBoxes.Add(boxObject);
            }

            for (int i = 1; i < 25; i++)
            {
                HingeJoint hingeJoint = new HingeJoint();
                hingeJoint.Initialise(chainBoxes[i - 1].PhysicsBody, chainBoxes[i].PhysicsBody, Vector3.Backward,
                    new Vector3(0.5f, -0.5f, 0.0f), 0.5f, 90.0f, 90.0f, 0.0f, 0.2f);
                hingeJoint.EnableController();
                hingeJoint.EnableHinge();
            }

            foreach (BoxObject obj in chainBoxes)
            {
                this.Components.Add(obj);
            }
        }