Input keyboard buffered portabel untuk XNA / MonoGame?

11

Sebagai solusi awal, saya saat ini menggunakan kerangka kerja Nuclex dalam proyek game C # / XNA untuk input keyboard buffered. Sayangnya, nuclex bergantung pada SlimDX.Directinput.dll dan karena itu sepengetahuan saya hanya dapat digunakan di bawah OS Windows. Namun, saya menggunakan MonoGame untuk menargetkan platform lain (Linux, OSX, dll.) Dan karenanya saya mencari cara portabel untuk mengintegrasikan input keyboard buffered aross semua platform. Apakah ada?

ares_games
sumber
Belum ada sebagai perpustakaan. Orang-orang telah melakukannya untuk Mac dan Linux ketika porting pustaka gui saya ke monogame dan saya mencoba membuat orang berkontribusi kode mereka.
ClassicThunder

Jawaban:

4

SharpInputSystem dibuat untuk tujuan yang tepat ini. Ini memberikan cara portabel untuk mengakses Keyboard dan Mouse di sebagian besar platform dan GamePad / Joystick pada beberapa platform lainnya. Dalam pengungkapan penuh, saya adalah penulisnya, tetapi saya membutuhkan perpustakaan serupa untuk sampel yang saya berikan dengan Aksioma.

Mungkin perlu dimodifikasi untuk memuat majelis MonoGame dengan benar, saya saat ini memuat pustaka Xna secara dinamis untuk menghindari ketergantungan pada nama yang kuat. Saya bisa melihat apakah membuat perubahan itu jika Anda mau atau jika Anda merasa sanggup melakukannya, kirimkan tambalan setelah Anda berhasil.

borrillis
sumber
1
Usaha yang baik tetapi bukan jawaban yang nyata karena itu tidak dapat digunakan pada saat ini tanpa kerja yang signifikan.
ashes999
0

Meskipun tidak mudah dibawa-bawa (hanya untuk Windows dan Linux). MonoGame memiliki acara untuk input teks yang menggunakan input keyboard dengan buffered dengan benar.

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;
Klasik
sumber