そのため、c# でフォーム (スネーク ゲームに類似) を使用してゲームを構築しており、矢印キーでプレーヤーをナビゲートしたいと考えています。ゲームがプレイされるグリッド (ボード) の近くには、次のようなボタンがいくつかあります。一時停止、開始など。矢印キーをクリックすると、プレーヤーを移動するのではなく、ボタンにフォーカスが移動します (ボタンを参照しています)。どうすればこれを変更できますか?
よろしく、
ヘンク
まず、フォームKeyPreview
を true に設定KeyDown
し、デザイナーで、またはフォームのコンストラクターに次の行を追加して、フォームのイベントにサブスクライブする必要があります。
this.KeyPreview = true;
this.KeyDown += Form1_KeyDown;
次に、このコードを keydown イベントに追加します。基本的に、これは、押されたキーが矢印の 1 つである場合に、押されたキーがすでに処理されたことをイベントに通知します。
private void Form3_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode==Keys.Up || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left ||e.KeyCode == Keys.Right)
{
e.Handled = true;
MovePlayer(e.KeyCode);
}
}
private void MovePlayer(Keys key)
{
switch (key)
{
case Keys.Up:
// your player moveup code
break;
...
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加