簡體   English   中英

具有OpenTK /輸入的Monogame Cross Platform中的GameWindow

[英]GameWindow in Monogame Cross Platform with OpenTK / Input

我目前正在與Monogame一起開發我的游戲,這是一個跨平台項目(我希望它可以在Windows,Linux和Mac上運行)。獲取輸入時遇到問題。 我想要一個可以在按下鍵時引發的事件,並給我鍵。 輸入CHAR時的另一個事件。 我在做atm。 我正在從稱為engine(monogame附帶的類)的主類中使用Microsoft.Xna.Framework GameWindow。文本輸入:

    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一起提供。 提前致謝。 對不起,很長的問題。

您應該使用Keyboard.GetState() API輪詢鍵盤狀態。 即, TextInput事件僅用於文本輸入-它不提供其他鍵。

使用MonoGame時不應窺視OpenTK。 作為一個跨平台框架,MonoGame旨在將此類庫抽象出來。 例如,即將發布的3.6版本將使用SDL而不是過時的OpenTK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM