Entrada de teclado con búfer portátil para XNA / MonoGame?


11

Como solución preliminar, actualmente estoy usando el marco Nuclex en un proyecto de juego C # / XNA para entrada de teclado almacenada en búfer. Lamentablemente, nuclex se basa en SlimDX.Directinput.dll y, por lo tanto, que yo sepa, solo se puede usar en sistemas operativos Windows. Sin embargo, uso MonoGame para apuntar a otras plataformas (Linux, OSX, etc.) y, por lo tanto, estoy buscando una forma portátil de integrar entradas de teclado almacenadas en todas las plataformas. ¿Hay alguna?


Todavía no existe como biblioteca. La gente lo ha hecho para Mac y Linux al portar mi biblioteca de interfaz gráfica de usuario al monojuego y estoy tratando de hacer que la gente contribuya con su código.
ClassicThunder

Respuestas:


4

SharpInputSystem fue creado para este propósito exacto. Proporciona una forma portátil de acceder al teclado y al mouse en la mayoría de las plataformas y GamePad / Joystick en algunas otras. En total divulgación, soy el autor, pero necesitaba una biblioteca similar para las muestras que proporciono con Axiom.

Es posible que deba modificarse para cargar los ensamblajes de MonoGame correctamente, actualmente estoy cargando las bibliotecas de Xna dinámicamente para evitar una dependencia de un nombre seguro. Puedo considerar hacer esos cambios si lo desea o si lo desea, enviar un parche una vez que lo tenga funcionando.


1
Buen esfuerzo pero no una respuesta real ya que no es utilizable en este momento sin un trabajo significativo.
cenizas999

0

Aunque no es adecuadamente portátil (es solo para Windows y Linux). MonoGame tiene un evento para la entrada de texto que utiliza la entrada de teclado con búfer adecuado.

MonoGame.Framework / GameWindow.cs

    /// Use this event to retrieve text for objects like textbox's.
    /// This event is not raised by noncharacter keys.
    /// This event also supports key repeat.
    /// For more information this event is based off:
    /// http://msdn.microsoft.com/en-AU/library/system.windows.forms.control.keypress.aspx
    /// </summary>
    /// <remarks>
    /// This event is only supported on the Windows DirectX, Windows OpenGL and Linux platforms.
    /// </remarks>
    public event EventHandler<TextInputEventArgs> TextInput;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.