2016-09-21 19 views
0

私は現在Monogameで私のゲームに取り組んでおり、それはクロスプラットフォームプロジェクトです(Windows、Linux、Mac上で動作させたいです)。入力を得ること。 私はKEYが押されてキーが与えられたときにイベントを起こしたいと思っています。 CHARが入力されたときの別のイベント。 私はatmをやっています。 私はエンジンと呼ばれるメインクラスからMicrosoft.Xna.Framework GameWindowを使用していますテキスト入力(monogameが付属していたクラス。):MonogameのGameWindow OpenTK/Inputを使用したクロスプラットフォーム

public static void Initialize(GameWindow window) 
    { 
     window.TextInput += CharEnteredEvent; 
    } 

を私はイベントに登録し、文字が入力されると、このイベントがありますCtrlキーや他のキーが押されたときに期待どおりになっていません。 Microsoft.Xna.FrameworkのGameWindowにはこれだけしかありませんが、OpenTKのGameWindowにはTextInput、KeyDown、KeyUpなどのイベントがあります。OpenTK Gamewindowを使用すると、私は必要なものはすべて持っていますが、MonogameクロスプラットフォームはMicrosoft.Xna.Framework GameWindow。どのように私はOpenTKのゲームのウィンドウを使用することができますし、モノグラムのものではない任意のアイデア。モノゲームのクロスプラットフォームプロジェクトにはOpenTKが付属しています。 ありがとうございます。長い質問を申し訳ありません。

答えて

0

Keyboard.GetState() APIを使用してキーボードの状態をポーリングする必要があります。 TextInputイベントは、テキスト入力のみです。他のキーは提供されません。

MonoGameを使用しているときにOpenTKを覗くことはありません。クロスプラットフォームのフレームワークとして、MonoGameはこうしたライブラリを抽象化することを目的としています。たとえば、今後リリースされる3.6のバージョンでは、廃止されたOpenTKの代わりにSDLが使用されます。

関連する問題