私はXNAが初めてです。レベルエディタが必要なゲームを作っています。レベル名とその説明を取得するには、テキスト ボックスが必要です。そこで、次のようなコードを書きました。
if (isSaveBox)
{
KeyboardState ks = Keyboard.GetState();
Keys[] keys = ks.GetPressedKeys();
Keys tempKey = Keys.None;
foreach (Keys key in keys)
{
Keys currentKey = key;
if (ks.IsKeyUp(lastKey))
{
string toadd = key.ToString();
if (!(key == Keys.None) && key != Keys.Space && key != Keys.Back && key != Keys.Enter)
{
levelName += toadd;
}
else if (key == Keys.Space)
{
levelName += " ";
}
else if (key == Keys.Back)
{
levelName.Remove(levelName.Length - 1);
lastKey = currentKey;
}
}
if (currentKey != Keys.None && ks.IsKeyDown(currentKey))
{
tempKey = currentKey;
}
}
lastKey = tempKey;
message = "Save level" + "\n" + "Enter - yes / Esc - no" + "\n" + levelName;
しかし、いくつかの文字を入力しようとすると、文字列に追加されませんlevelName
。誰かがこれで私を助けることができますか?