private void HandleCursor(InputHelper input) { Vector2 position = Camera.ConvertScreenToWorld(input.Cursor); if ((input.IsNewButtonPress(Buttons.A) || input.IsNewMouseButtonPress(MouseButtons.LeftButton)) && _fixedMouseJoint == null) { Fixture savedFixture = World.TestPoint(position); if (savedFixture != null) { Body body = savedFixture.Body; _fixedMouseJoint = new FixedMouseJoint(body, position); _fixedMouseJoint.MaxForce = 1000.0f * body.Mass; World.AddJoint(_fixedMouseJoint); body.Awake = true; } } if ((input.IsNewButtonRelease(Buttons.A) || input.IsNewMouseButtonRelease(MouseButtons.LeftButton)) && _fixedMouseJoint != null) { World.RemoveJoint(_fixedMouseJoint); _fixedMouseJoint = null; } if (_fixedMouseJoint != null) { _fixedMouseJoint.WorldAnchorB = position; } }
public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.IsNewButtonPress(Buttons.B) || input.IsNewMouseButtonPress(MouseButtons.RightButton) || input.IsNewKeyPress(Keys.Space)) { _walker.Reverse(); } base.HandleInput(input, gameTime); }
public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.IsNewButtonPress(Buttons.B) || input.IsNewMouseButtonPress(MouseButtons.RightButton) || input.IsNewKeyPress(Keys.Space)) { _walker.Reverse(); } base.HandleInput(input, gameTime); }
public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.IsNewMouseButtonPress(MouseButtons.RightButton) || input.IsNewButtonPress(Buttons.B)) { Vector2 cursorPos = Camera.ConvertScreenToWorld(input.Cursor); Vector2 min = cursorPos - new Vector2(10, 10); Vector2 max = cursorPos + new Vector2(10, 10); AABB aabb = new AABB(ref min, ref max); World.QueryAABB(fixture => { Vector2 fv = fixture.Body.Position - cursorPos; fv.Normalize(); fv *= 40; fixture.Body.ApplyLinearImpulse(ref fv); return(true); }, ref aabb); } base.HandleInput(input, gameTime); }
public override void HandleInput(InputHelper input, GameTime gameTime) { // Control debug view if (input.IsNewButtonPress(Buttons.Start)) { EnableOrDisableFlag(DebugViewFlags.Shape); EnableOrDisableFlag(DebugViewFlags.DebugPanel); EnableOrDisableFlag(DebugViewFlags.PerformanceGraph); EnableOrDisableFlag(DebugViewFlags.Joint); EnableOrDisableFlag(DebugViewFlags.ContactPoints); EnableOrDisableFlag(DebugViewFlags.ContactNormals); EnableOrDisableFlag(DebugViewFlags.Controllers); } if (input.IsNewKeyPress(Keys.F1)) { EnableOrDisableFlag(DebugViewFlags.Shape); } if (input.IsNewKeyPress(Keys.F2)) { EnableOrDisableFlag(DebugViewFlags.DebugPanel); EnableOrDisableFlag(DebugViewFlags.PerformanceGraph); } if (input.IsNewKeyPress(Keys.F3)) { EnableOrDisableFlag(DebugViewFlags.Joint); } if (input.IsNewKeyPress(Keys.F4)) { EnableOrDisableFlag(DebugViewFlags.ContactPoints); EnableOrDisableFlag(DebugViewFlags.ContactNormals); } if (input.IsNewKeyPress(Keys.F5)) { EnableOrDisableFlag(DebugViewFlags.PolygonPoints); } if (input.IsNewKeyPress(Keys.F6)) { EnableOrDisableFlag(DebugViewFlags.Controllers); } if (input.IsNewKeyPress(Keys.F7)) { EnableOrDisableFlag(DebugViewFlags.CenterOfMass); } if (input.IsNewKeyPress(Keys.F8)) { EnableOrDisableFlag(DebugViewFlags.AABB); } if (input.IsNewButtonPress(Buttons.Back) || input.IsNewKeyPress(Keys.Escape)) { ExitScreen(); } if (HasCursor) { HandleCursor(input); } if (_userAgent != null) { HandleUserAgent(input); } if (EnableCameraControl) { // HandleCamera(input, gameTime); } base.HandleInput(input, gameTime); }
private void HandleCursor(InputHelper input) { Vector2 position = Camera.ConvertScreenToWorld(input.Cursor); if ((input.IsNewButtonPress(Buttons.A) || input.IsNewMouseButtonPress(MouseButtons.LeftButton)) && _fixedMouseJoint == null) { Fixture savedFixture = World.TestPoint(position); if (savedFixture != null) { Body body = savedFixture.Body; _fixedMouseJoint = new FixedMouseJoint(body, position); _fixedMouseJoint.MaxForce = 1000.0f * body.Mass; World.AddJoint(_fixedMouseJoint); body.Awake = true; } } if ((input.IsNewButtonRelease(Buttons.A) || input.IsNewMouseButtonRelease(MouseButtons.LeftButton)) && _fixedMouseJoint != null) { World.RemoveJoint(_fixedMouseJoint); _fixedMouseJoint = null; } if (_fixedMouseJoint != null) { _fixedMouseJoint.WorldAnchorB = position; } }
public override void HandleInput(InputHelper input, GameTime gameTime) { Vector2 direction = Vector2.Zero; if (input.KeyboardState.IsKeyDown(Keys.A)) { direction += new Vector2(-1, 0); } if (input.KeyboardState.IsKeyDown(Keys.D)) { direction += new Vector2(1, 0); } if (Players.ContainsKey(localIP) && Players[localIP].Action != "die") { if (Players[localIP].IsGrounded && (input.IsNewKeyPress(Keys.W) || input.IsNewKeyPress(Keys.Space))) { Players[localIP].Jump(); } if (input.IsNewMouseButtonPress(MouseButtons.LeftButton)) { Players[localIP].Attack(); } Players[localIP].Move(gameTime, direction); if (direction != Vector2.Zero) { Players[localIP].Direction = (int)direction.X; } } else if (Players.ContainsKey(localIP)) { timeSinceDeath += (float)gameTime.ElapsedGameTime.TotalSeconds; if (timeSinceDeath >= TimeTilRespawn) { Players[localIP].Respawn(); timeSinceDeath = 0; } } if (input.IsNewButtonPress(Buttons.Back) || input.IsNewKeyPress(Keys.Escape)) { server.Shutdown("bye"); client.Shutdown("bye"); ExitScreen(); } if (HasCursor) { HandleCursor(input); } base.HandleInput(input, gameTime); }
public override void HandleInput(InputHelper input, GameTime gameTime) { // Control debug view if (input.IsNewButtonPress(Buttons.Start)) { EnableOrDisableFlag(DebugViewFlags.Shape); EnableOrDisableFlag(DebugViewFlags.DebugPanel); EnableOrDisableFlag(DebugViewFlags.PerformanceGraph); EnableOrDisableFlag(DebugViewFlags.Joint); EnableOrDisableFlag(DebugViewFlags.ContactPoints); EnableOrDisableFlag(DebugViewFlags.ContactNormals); EnableOrDisableFlag(DebugViewFlags.Controllers); } if (input.IsNewKeyPress(Keys.F1)) { EnableOrDisableFlag(DebugViewFlags.Shape); } if (input.IsNewKeyPress(Keys.F2)) { EnableOrDisableFlag(DebugViewFlags.DebugPanel); EnableOrDisableFlag(DebugViewFlags.PerformanceGraph); } if (input.IsNewKeyPress(Keys.F3)) { EnableOrDisableFlag(DebugViewFlags.Joint); } if (input.IsNewKeyPress(Keys.F4)) { EnableOrDisableFlag(DebugViewFlags.ContactPoints); EnableOrDisableFlag(DebugViewFlags.ContactNormals); } if (input.IsNewKeyPress(Keys.F5)) { EnableOrDisableFlag(DebugViewFlags.PolygonPoints); } if (input.IsNewKeyPress(Keys.F6)) { EnableOrDisableFlag(DebugViewFlags.Controllers); } if (input.IsNewKeyPress(Keys.F7)) { EnableOrDisableFlag(DebugViewFlags.CenterOfMass); } if (input.IsNewKeyPress(Keys.F8)) { EnableOrDisableFlag(DebugViewFlags.AABB); } if (input.IsNewButtonPress(Buttons.Back) || input.IsNewKeyPress(Keys.Escape)) { ExitScreen(); } if (HasCursor) { HandleCursor(input); } if (_userAgent != null) { HandleUserAgent(input); } if (EnableCameraControl) { HandleCamera(input, gameTime); } base.HandleInput(input, gameTime); }
public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.IsNewMouseButtonPress(MouseButtons.RightButton) || input.IsNewButtonPress(Buttons.B)) { Vector2 cursorPos = Camera.ConvertScreenToWorld(input.Cursor); Vector2 min = cursorPos - new Vector2(10, 10); Vector2 max = cursorPos + new Vector2(10, 10); AABB aabb = new AABB(ref min, ref max); World.QueryAABB(fixture => { Vector2 fv = fixture.Body.Position - cursorPos; fv.Normalize(); fv *= 40; fixture.Body.ApplyLinearImpulse(ref fv); return true; }, ref aabb); } base.HandleInput(input, gameTime); }