我已经看过所有可以找到的关于它的文章,而且它们都不适合我。我想不断检查游戏背景中的按键。C# - XNA:不断检查按键
这是我试图让它工作,但它不会。
namespace Base
{
class MainClass
{
public static int X = 0;
public static int Y = 0;
public static void Main(string[] args)
{
while (true)
{
KeyboardState CurrentKeyboardState = Keyboard.GetState();
if (CurrentKeyboardState.IsKeyDown(Keys.Left))
{
MainClass.X += 1;
}
Console.WriteLine(X + ", " + Y);
}
}
}
}
按下左键不会提高X值,这意味着没有响应。 我读过两处都说你无法在Main或线程中经常检查,但我应该在哪里检查它?
我应该说我是C#的新手。 – DeePad
运行后台线程以持续轮询输入在XNA游戏中通常是一个非常糟糕的主意。线程的CPU开销以及确保从告诉数据转到GPU并实际执行时没有数据损坏的复杂性通常是不值得的。因此,由于Xna游戏中的Update方法每秒循环60次,因此检查游戏线程中更新方法中经常使用的输入更改通常就足够了。 –
我该怎么做? – DeePad