ネットワーク ゲームの作成に関するオンライン チュートリアルを完了しました。ゲーム自体は、画面上でマウスをたどる小さな円です。
マウスの代わりにキーを使用して円を移動するようにコードを変更しています。しかし、以前にこれを行ったことがありますが、「JPanel」を使用したことがなく、円を移動するためのキーを取得するのに苦労しています。
ゲームの「クライアント」側は Client.java と DataPackage.java の 2 つのファイルのみで構成されており、(私の知る限り) 問題は Client.java にあるようです。
コード全体は非常に大きいので貼り付けませんが (必要に応じて貼り付けます)、ボールをマウスに追従させるビットを次に示します。
public Client()
{
this.addMouseMotionListener(new MouseMotionListener()
{
@Override
public void mouseDragged(MouseEvent e)
{
x = e.getX();
y = e.getY();
}
@Override
public void mouseMoved(MouseEvent e) {}
});
}
今、私はちょうど変更しようとしました
this.addMouseMotionListener(new MouseMotionListener()
{
@Override
public void mouseDragged(MouseEvent e)
{
x = e.getX();
y = e.getY();
}
@Override
public void mouseMoved(MouseEvent e) {}
});
に
this.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) { System.out.println( "tester"); }
public void keyReleased(KeyEvent e) { System.out.println("2test2"); }
public void keyTyped(KeyEvent e) { System.out.println("3test3"); }
});
しかし、これは機能していないように見えたので、キーイングコードの場所を
public Client() { }
次に、ファイルの上部にある「implements」タグである可能性があると考えました。だから私は追加しました
implements KeyListener
最後まで
public class Client extends JComponent
しかし、これもうまくいかなかったので、さらに調査を行いました。
panel.setFocusable(true);
しかし、この情報のソースは、どこに置くべきか、どこに置いてもエラーをスローします
誰かが私のためにこれに光を当てることができますか?