From 96b0990418e11ba4d3159a8a4730402d74ca4193 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Thu, 6 Aug 2020 16:22:24 -0700 Subject: [PATCH] use relative mouse extension --- FNA | 2 +- Kav | 2 +- KavTest/Engines/InputEngine.cs | 21 +-------------------- KavTest/KavTestGame.cs | 4 +++- 4 files changed, 6 insertions(+), 23 deletions(-) diff --git a/FNA b/FNA index c665d2e..d926c53 160000 --- a/FNA +++ b/FNA @@ -1 +1 @@ -Subproject commit c665d2e08c25fb63e58e987b7c1af75af22aa010 +Subproject commit d926c536dc34186d64464154c72e8ba2cc187ed8 diff --git a/Kav b/Kav index 55b1555..2d1a50e 160000 --- a/Kav +++ b/Kav @@ -1 +1 @@ -Subproject commit 55b1555df2ded543e623c8b5eb60d3a3fff9e32c +Subproject commit 2d1a50e1c439e0d511de82eab6cd2481b1c011f8 diff --git a/KavTest/Engines/InputEngine.cs b/KavTest/Engines/InputEngine.cs index 8338082..e9430ab 100644 --- a/KavTest/Engines/InputEngine.cs +++ b/KavTest/Engines/InputEngine.cs @@ -13,26 +13,10 @@ namespace KavTest.Engines )] public class InputEngine : Engine { - private int centerX; - private int centerY; - - public InputEngine(int centerX, int centerY) - { - this.centerX = centerX; - this.centerY = centerY; - Mouse.SetPosition(centerX, centerY); - System.Console.WriteLine("initialize mouse position"); - System.Console.WriteLine(Mouse.GetState().X); - System.Console.WriteLine(Mouse.GetState().Y); - } - public override void Update(double dt) { var keyboardState = Keyboard.GetState(); var mouseState = Mouse.GetState(); - System.Console.WriteLine("mouse position"); - System.Console.WriteLine(mouseState.X); - System.Console.WriteLine(mouseState.Y); if (keyboardState.IsKeyDown(Keys.W)) { @@ -54,13 +38,10 @@ namespace KavTest.Engines SendMessage(new MoveCameraMessage(new Vector3(5, 0, 0))); } - var mouseMovement = new Vector2(centerX - mouseState.X, centerY - mouseState.Y); - Mouse.SetPosition(centerX, centerY); - if (SomeComponent()) { var cameraEntity = ReadEntity(); - SendMessage(new RotateCameraMessage(cameraEntity, mouseMovement.X, mouseMovement.Y)); + SendMessage(new RotateCameraMessage(cameraEntity, -mouseState.X, -mouseState.Y)); } } } diff --git a/KavTest/KavTestGame.cs b/KavTest/KavTestGame.cs index 55140c2..f9b9107 100644 --- a/KavTest/KavTestGame.cs +++ b/KavTest/KavTestGame.cs @@ -27,6 +27,8 @@ namespace KavTest Window.AllowUserResizing = true; IsMouseVisible = true; + + Microsoft.Xna.Framework.Input.Mouse.IsRelativeMouseModeEXT = true; } protected override void LoadContent() @@ -48,7 +50,7 @@ namespace KavTest Smuggler.Importer.ImportGLB(GraphicsDevice, File.OpenRead("Content/rustysphere.glb")) ); - WorldBuilder.AddEngine(new InputEngine(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2)); + WorldBuilder.AddEngine(new InputEngine()); WorldBuilder.AddEngine(new AngularVelocityEngine()); WorldBuilder.AddEngine(new MotionEngine()); WorldBuilder.AddEngine(new CameraEngine());