1.9 KiB
Input
The MonoGame.Extended.Input library contains input listener classes that have events you can use to subscribe to input events, instead of having to poll for input changes. It also contains extended keyboard and mouse states.
Input Listeners
There are different events that you can subscribe to in the different input listener classes. Note that this is in the MonoGame.Extended.Input.InputListeners library, not just MonoGame.Extended.Input.
// Some example usage
using MonoGame.Extended.Input.InputListeners;
private MouseListener mlistener = new MouseListener;
private void OnMouseMoved(object sender, MouseEventArgs eventArgs) {
// What you want to happen when the mouse is moving
}
protected override void Update(GameTime gameTime)
{
// Subscribe to the event
mlistener.MouseMoved += OnMouseMoved;
mlistener.Update(gameTime);
mlistener.MouseMoved -= OnMouseMoved;
}
Extended Keyboard and Mouse States
The library also includes some new methods and properties for the keyboard and mouse states in the KeyboardStateExtended and MouseStateExtended classes.
// Some example usage
using MonoGame.Extended.Input;
private KeyboardStateExtended kstate = KeyboardExtended.GetState();
private MouseStateExtended mstate = MouseExtended.GetState();
protected override void Update(GameTime gameTime)
{
if (mstate.PositionChanged()) {
// Code that happens if the position of the mouse changes
else if (kstate.WasAnyKeyJustDown()) {
// Code that happens if there was just any key that was down
}
}
The KeyboardStateExtended and MouseStateExtended classes also contain all of the original methods and properties of the regular KeyboardState and MouseState classes.
More Player Indexes
The library also adds an extended player index for up to eight players from the ExtendedPlayerIndex class. You can access them by typing ExtendedPlayerIndex.One up to ExtendedPlayerIndex.Eight.