gpt4 book ai didi

c# - MonoGame 按键字符串

转载 作者:行者123 更新时间:2023-11-30 14:30:33 26 4
gpt4 key购买 nike

在MonoGame中,如何以字符串形式读取按下的是哪个键盘键?

我试过 String pressedKey = Keyboard.GetState().ToString();,但它给了我“Microsoft.Xna.Framework.Input.KeyboardState”。

最佳答案

在游戏中,您通常将键视为具有状态而不是字符串的按钮,因为您通常会检查按钮是向上还是向下以移动角色、射击、跳跃等。

正如其他人所说,如果您已经知道要测试的键,您应该使用 IsKeyDown 和 IsKeyUp。然而,有时您只想知道按下了哪些键。为此,您可以使用 GetPressedKeys 方法,该方法将为您提供一组当前在键盘上按下的键。

如果你想把这些键变成一个字符串,你可能会在你的更新方法中做这样的事情。

    private string _stringValue = string.Empty;

protected override void Update(GameTime gameTime)
{
var keyboardState = Keyboard.GetState();
var keys = keyboardState.GetPressedKeys();

if(keys.Length > 0)
{
var keyValue = keys[0].ToString();
_stringValue += keyValue;
}

base.Update(gameTime);
}

但是请记住,这并不完美。您必须添加额外的代码来处理大写和小写字母的 SHIFT 键,并且您可能希望过滤掉其他键,如 Ctrl 和 Alt。也许将输入限制为仅字母数字值等。

祝你好运。

关于c# - MonoGame 按键字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22564499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com