繁体   English   中英

C#/ Monogame:Shift键被箭头键阻止了吗?

[英]C#/Monogame: shift keys blocked by arrow keys?

我经常在这里找到有用的信息,现在是时候自己创建一个帐户了,并感谢这个社区对我的帮助!

我目前正在使用Xamarin 5.5.4在Mac OSX 10.9.5的Monogame 3.2中编写游戏,遇到一个我从未见过的奇怪问题:当我按下其中一个箭头键时,似乎按住Shift键和右边的,即使我按了它们也总是被认为没有按下。

我在游戏循环中使用以下代码行进行了检查:

        foreach (Keys key in Keyboard.GetState().GetPressedKeys()) {
            Console.WriteLine (key.ToString ());
        }

输出始终是相同的。 当我只按下一个或仅按住Shift键的一个时,我得到

LeftShift
RightShift

再加上箭头键(如果先按住Shift键)。 但是,当我先按一个箭头键,然后在一个箭头键按下时按Shift键时,这两个键不会出现。

显然这是一个问题,因为当按下shift键时(至少在先按住箭头键时),我的游戏角色现在无法运行。 我仔细检查了是否也阻止了Z之类的其他键,但似乎箭头键只阻止了移位(但是到目前为止,我还没有检查所有键)。

有谁知道为什么会这样吗? 我检查了Mac OSX中是否激活了粘滞键,但没有激活。 可悲的是,到目前为止,我在互联网上找不到任何东西。

任何帮助表示赞赏! 在此先多谢!

我认为MonoGame正在做一些特殊的事情来使某些键在Windows上工作,可能是在其他平台上需要做的一些相同的修复。

尝试在MonoGame中找到将OS按键事件转换为XNA按键事件的代码。 问题很可能出在哪里。

还请尝试运行最新的developer分支,以确保它不是在此同时已修复的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM