私は自分のゲームにチャット システムを実装しようとしてきました。これまでのところ、テキストの文字列を受け入れるようになり、ピリオド、コンマ、アポストロフィなどの特殊文字を実装しようとしています。
たとえば、これは通常、ピリオドとコンマを取得する方法です。
if (currentKeyboardState.IsKeyDown(Keys.OemPeriod);
if (currentKeyboardState.IsKeyDown(Keys.OemComma);
ただし、この種のコンテキストでは感嘆符 (!) に関連するものは見つかりません。Shiftキーと1キーの両方が押されているかどうかを確認できることはわかっていますが、この場合、やろうとすると
if (currentKeyboardState.IsKeyDown(Keys.LeftShift) && (currentKeyboardState.IsKeyDown(Keys.D1))
text += "!";
break;
Shift キーまたは 1 キーを押すたびに感嘆符が追加されます。これは、意図した文字が 1 だったとしても、感嘆符を作成することを意味します。
ご意見ありがとうございます。