Ingresso tastiera bufferizzata portatile per XNA / MonoGame?


11

Come soluzione preliminare, sto attualmente utilizzando il framework Nuclex in un progetto di gioco C # / XNA per l'input da tastiera bufferizzata. Purtroppo, nuclex si affida a SlimDX.Directinput.dll e quindi, per quanto ne so, può essere utilizzato solo su sistemi operativi Windows. Tuttavia, utilizzo MonoGame per indirizzare altre piattaforme (Linux, OSX, ecc.) E quindi sto cercando un modo portatile per integrare l'input della tastiera bufferizzata su tutte le piattaforme. C'è qualche?


Non esiste ancora come libreria. Le persone lo hanno fatto per Mac e Linux durante il porting della mia libreria gui su monogame e sto cercando di convincere le persone a contribuire con il loro codice.
ClassicThunder

Risposte:


4

SharpInputSystem è stato creato per questo preciso scopo. Fornisce un modo portatile di accedere alla tastiera e al mouse sulla maggior parte delle piattaforme e GamePad / Joystick su alcuni altri. In piena divulgazione, sono l'autore, ma avevo bisogno di una libreria simile per i campioni forniti con Axiom.

Potrebbe essere necessario modificarlo per caricare correttamente gli assembly MonoGame, al momento sto caricando dinamicamente le librerie Xna per evitare una dipendenza da un nome sicuro. Posso cercare di apportare tali modifiche se lo desideri o, se lo ritieni opportuno, inviare una patch una volta che hai funzionato.


1
Buon sforzo ma non una vera risposta poiché non è utilizzabile a questo punto senza un lavoro significativo.
ashes999

0

Sebbene non sia correttamente portatile (è solo per Windows e Linux). MonoGame ha un evento per l'immissione di testo che utilizza l'immissione da tastiera correttamente bufferizzata.

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;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.