Beispiel #1
0
        public override void Update(GameTime gameTime)
        {
            //Get some input
            UpdateInput();
            Vector3 upwardOffest = MathConverter.Convert(physicsObject.WorldTransform.Up);

            Game1.CameraPosition  = MathConverter.Convert(physicsObject.Position) + upwardOffest;
            Game1.CameraDirection = MathConverter.Convert(physicsObject.Position) + upwardOffest + MathConverter.Convert(physicsObject.WorldTransform.Forward);
            Game1.CameraUp        = MathConverter.Convert(physicsObject.WorldTransform.Up);



            //Game1.CameraDirection = MathConverter.Convert(physicsObject.WorldTransform.Forward);
            //Add Velocity to the current position for both the physics object and the model
            //modelPosition += modelVelocity;
            //physicsObject.Position += MathConverter.Convert(modelVelocity);

            //bleed off velocity over time from both the model and the physics object
            //modelVelocity *= 0.95f;
            //physicsObject.LinearMomentum *= 0.95f;
        }
Beispiel #2
0
 public override void Draw(GameTime gameTime)
 {
     foreach (var mesh in model.Meshes)
     {
         foreach (BasicEffect effect in mesh.Effects)
         {
             effect.EnableDefaultLighting();
             effect.DirectionalLight0.DiffuseColor = new Vector3(10, 10, 10);
             effect.DirectionalLight1.DiffuseColor = new Vector3(10, 10, 10);
             effect.DirectionalLight2.DiffuseColor = new Vector3(10, 10, 10);
             effect.PreferPerPixelLighting         = true;
             //effect.Alpha = 0.3f;
             effect.World = MathConverter.Convert(physicsObject.WorldTransform);
             effect.View  = Matrix.CreateLookAt(Game1.CameraPosition, Game1.CameraDirection, Game1.CameraUp);
             float aspectRatio   = Game.GraphicsDevice.Viewport.AspectRatio;
             float fieldOfView   = Microsoft.Xna.Framework.MathHelper.PiOver4;
             float nearClipPlane = 0.3f;
             float farClipPlane  = 400f;
             effect.Projection = Matrix.CreatePerspectiveFieldOfView(fieldOfView, aspectRatio, nearClipPlane, farClipPlane);
         }
         mesh.Draw();
     }
     base.Draw(gameTime);
 }
Beispiel #3
0
 public Asteroid(Game game, Vector3 pos, float mass, Vector3 linMomentum, Vector3 angMomentum) : this(game, pos, mass, linMomentum)
 {
     physicsObject.AngularMomentum = MathConverter.Convert(angMomentum);
 }
Beispiel #4
0
 public Asteroid(Game game, Vector3 pos, float mass, Vector3 linMomentum) : this(game, pos, mass)
 {
     physicsObject.LinearMomentum = MathConverter.Convert(linMomentum);
 }
Beispiel #5
0
 public Fighter(Game game, Vector3 pos, float mass, Vector3 linMomentum) : this(game, pos, mass)
 {
     physicsObject.LinearMomentum = MathConverter.Convert(linMomentum);
     //modelVelocity = linMomentum / 50;
 }