2017-09-08 2 views
-4

ゲームの作成を開始しましたが、問題が発生しました: 「プレイヤー」の移動が何らかの理由で停止するため、 。 私は矢印キーを使って "プレーヤー"を動かしています。フォームにチェックボックスがある場合、画像ボックスを移動できないのはなぜですか?

private void Form1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if(e.KeyCode == Keys.Left) 
     { 
      left = true; 
     } 

     if (e.KeyCode == Keys.Right) 
     { 
      right = true; 
     } 

     if (e.KeyCode == Keys.Up) 
     { 
      up = true; 
     } 

     if (e.KeyCode == Keys.Down) 
     { 
      down = true; 
     } 
    } 

とコントロールをリセットする:

private void Form1_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Left) 
     { 
      left = false; 
     } 

     if (e.KeyCode == Keys.Right) 
     { 
      right = false; 
     } 

     if (e.KeyCode == Keys.Up) 
     { 
      up = false; 
     } 

     if (e.KeyCode == Keys.Down) 
     { 
      down = false; 
     } 
    } 

だから、どのように私は、チェックボックスを配置し、まだ私の「プレーヤー」を制御することができますか?

チェックボックスなしで働いゲーム: https://i.imgur.com/oJmn2uD.gifv

それから私は、チェックボックスを入れて、「プレーヤー」に移動することができない: https://i.imgur.com/53WOGjW.gifv

は、チェックボックスのソートを追加する他の方法は何ですか私は動作する設定タブに使用できるコントロールの?

+2

これらのチェックボックスはどこに追加しましたか? –

+0

['Form.KeyPreview = true']を設定します(https://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview%28v=vs.110%29.aspx?f= 255&MSPPError = -2147217396)。チェックボックスはフォーカスをとり、フォームがキーボードイベントを受け取らないようにします。別のオプション:無効にするチェックボックス、無効なコントロールはフォーカスを受け取りません。 – Sinatr

+0

補足として:「winform」コントロールを使ってゲームを作るのは悪い考えです。 – Mischa

答えて

0

答えは私がWASDでそれらを置き換えたので、私は入力キーとして機能するので、私は矢印キーを使用することができなかったと魅力のように動作します!

関連する問題