コード例 #1
0
 internal void loadPhysicsBody()
 {
     physicsBody = new DPhysicsBody(new Vector2(TiledMap.tilewidth, TiledMap.tileheight))
     {
         BodyType = FarseerPhysics.Dynamics.BodyType.Static
     };
     physicsBody.Position = ConvertUnits.ToSimUnits(positionInNode(DScene.current.gameWorld));
 }
コード例 #2
0
 internal void loadPhysics()
 {
     physicsBody = new DPhysicsBody(new Vector2(40, 40))
     {
         IsBullet = true
     };
     physicsBody.OnCollision  += physicsBody_OnCollision;
     physicsBody.OnSeparation += physicsBody_OnSeparation;
 }
コード例 #3
0
        internal void loadPhysicsBody()
        {
            if (ChildNodes.Count > 0)
            {
                foreach (XmlNode objectChildNode in ChildNodes)
                {
                    switch (objectChildNode.Name)
                    {
                    case "ellipse":
                        physicsBody = new DPhysicsBody(new Vector2(width, height), ShapeType.Circle);
                        break;

                    case "polygon":
                        physicsBody = new DPhysicsBody(getVertices(objectChildNode));
                        break;

                    case "polyline":
                        physicsBody = new DPhysicsBody(getVertices(objectChildNode));
                        break;

                    default:
#if DEBUG
                        throw new Exception();
#else
                        break;
#endif
                    }
                }
            }
            else
            {
                physicsBody = new DPhysicsBody(new Vector2(width, height));
            }

            physicsBody.Position = ConvertUnits.ToSimUnits(positionInNode(DScene.current.gameWorld));
            physicsBody.BodyType = FarseerPhysics.Dynamics.BodyType.Static;
        }