XNA / MonoGame 용 휴대용 버퍼 키보드 입력?


11

예비 솔루션으로 현재 버퍼링 된 키보드 입력을 위해 C # / XNA 게임 프로젝트에서 Nuclex 프레임 워크 를 사용하고 있습니다. 안타깝게도 nuclex는 SlimDX.Directinput.dll에 의존하므로 Windows OS에서만 사용할 수 있습니다. 그러나 MonoGame 을 사용 하여 다른 플랫폼 (Linux, OSX 등)을 대상으로하므로 모든 플랫폼에서 버퍼링 된 키보드 입력을 통합하는 휴대용 방법을 찾고 있습니다. 있어요?


아직 라이브러리로 존재하지 않습니다. 사람들은 내 GUI 라이브러리를 모노 게임으로 포팅 할 때 Mac과 Linux를 위해 그것을했으며 사람들이 코드를 제공하도록 노력하고 있습니다.
ClassicThunder

답변:


4

이 정확한 목적을 위해 SharpInputSystem 이 만들어졌습니다. 대부분의 플랫폼에서 키보드 및 마우스에 액세스 할 수있는 휴대용 방법을 제공하고 다른 일부에서는 게임 패드 / 조이스틱에 액세스 할 수 있습니다. 전체 공개에서, 나는 저자이지만, Axiom에 제공 한 샘플들에 대해 유사한 라이브러리가 필요했습니다.

MonoGame 어셈블리를 올바르게로드하기 위해 수정해야 할 수도 있습니다. 현재 강력한 이름에 대한 의존성을 피하기 위해 Xna 라이브러리를 동적으로로드하고 있습니다. 원하는 경우 변경하거나 원하는대로 변경 한 후 패치가 작동하면 패치를 제출하십시오.


1
상당한 노력 없이는이 시점에서 사용할 수 없으므로 좋은 노력이지만 실제 답변은 아닙니다.
ashes999

0

이식성이 좋지 않은 동안 (Windows 및 Linux에만 해당) MonoGame에는 올바르게 버퍼링 된 키보드 입력을 사용하는 텍스트 입력 이벤트가 있습니다.

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;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.