問題があります。私は矢印を押すと呼ばれるいくつかの簡単な関数を実装しました。2つの矢印が押されていない - Java swing
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT)
{
double t = p.getAngle();
if(p.getIsTurning())
t+=3;
else
t+=6;
p.setAngle(t);
p.setIsTurinig(true);
}
else if(key == KeyEvent.VK_UP)
{
p.setVelX(p.getVelX()+p.getAcceleration());
p.setIsAccelerating(true);
}
}
上矢印を押してから左にすると、すべて正常に機能します。しかし、左矢印と上矢印を押すと上矢印機能だけが検出されます。
何が原因ですか?
もちろん最初のelse ifがあるべきなら – chodi
それを示すためにコードを編集する必要があります。 – DevilsHnd
KeyListenerを使用しないでください。特定のイベントを処理するには、 'Key Bindings'を使用する必要があります。複数のキーが同時に押された場合の詳細と作業例については、[キーボードを使用したモーション]()を参照してください。 – camickr