Example #1
0
 private void KeyBoardMovedPosition(Key key, PerspectiveCamera camera, double scale, int ms, bool isPrintPosi = false)
 {
     if (key == Key.W)
     {
         camera.MoveVectorAnimation(
             Vector3D.Multiply(camera.LookDirection, scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position += Vector3D.Multiply(camera.LookDirection,scale);
     }
     if (key == Key.S)
     {
         camera.MoveVectorAnimation(
             -Vector3D.Multiply(camera.LookDirection, scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position -= Vector3D.Multiply(camera.LookDirection, scale);
     }
     if (key == Key.A)
     {
         camera.MoveVectorAnimation(
             -Vector3D.Multiply(camera.LeftDirection(), scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position -= Vector3D.Multiply(camera.LeftDirection(),scale);
     }
     if (key == Key.D)
     {
         camera.MoveVectorAnimation(
             Vector3D.Multiply(camera.LeftDirection(), scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position += Vector3D.Multiply(camera.LeftDirection(), scale);
     }
     if (key == Key.Space)
     {
         camera.MoveVectorAnimation(
             Vector3D.Multiply(camera.UpDirection, scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position += Vector3D.Multiply(camera.UpDirection,scale);
     }
     if (key == Key.LeftShift)
     {
         camera.MoveVectorAnimation(
             -Vector3D.Multiply(camera.UpDirection, scale),
             scale, new Duration(TimeSpan.FromMilliseconds(ms)));
         //camera.Position -= Vector3D.Multiply(camera.UpDirection, scale);
     }
     if (isPrintPosi)
     {
         Console.WriteLine($"{camera.Position.X}, {camera.Position.Y}, {camera.Position.Z}");
     }
 }