2012-03-14 14 views
3

3つのキーを同時に押すと、コードに問題があります。 私は3キーを押したときのキーボード入力の不具合

  • アップ+右+スペースキーを押すと:移動とオブジェクトの火災
  • アップ+左+スペース:移動したが
  • 下+右+スペースを発生しません:移動しませんが、火
  • 下+左+スペース:移動するが起動しない
  • 他の2つのキーの組み合わせはすべて問題ありません。ここ

私のコードです:

if (newkbState.IsKeyDown(Keys.Up)) 
    player.MoveFwd(); 
else if (newkbState.IsKeyDown(Keys.Down)) 
    player.MoveBkwd(); 
else 
    player.StopMoving(); 

if (newkbState.IsKeyDown(Keys.Left)) 
    player.TurnLeft(); 
else if (newkbState.IsKeyDown(Keys.Right)) 
    player.TurnRight(); 
else 
    player.StopTurning(); 

if (newkbState.IsKeyDown(Keys.Space)) 
    player.Fire(); 
+0

Haedrianが提供したリンクを使用して、左と上を押したときにDellのラップトップが3つのキーを処理できないことがわかりました。 Logitechのワイヤレスキーボードは、6つのキーを同時に押すことができるようです。 –

答えて

7

基本的な問題ではなく、同時に3つ以上のキーを持つキーボードサポートですか?そのと呼ばれるよう「ゴースト」は、古いキーボードでの前代未聞ではありません。

https://www.microsoft.com/appliedsciences/antighostingexplained.mspx

あなたがそのあなたのコードの100%か?

+0

私のキーボードはdell L100で、別のキーボードで試してみましたが、同じ問題があります。しかし、それはどうやってUP + Right + Spaceで動作するのですか? – raym0nd

+0

その記事の上部にアプレットがあり、その3つのプレスを検出できるかどうか確認してください。それはキーボードの構成と関係があります - そのリンクが説明します。 – Haedrian

+0

例えば、私のキーボードは左上のスペースをサポートしていませんが、あなたが説明したものは機能します。 – Haedrian

0

それはあなたのキーボードの問題かもしれません(一部のMicrosoftキーボードは、例えば同様の問題を抱えています)。ちょうど安全な側にいるために、別のキーボードを試してみてください。

+0

私は別のキーボードで試してみましたが、同じ問題があります。 – raym0nd

関連する問題