私は Java で何か新しく、やや難しいことを学んでいます。それはグラフィックスです。以下に、2 つのクラスの機能について説明します。私の新しい障害は、Z を押すだけで、ボールから出てくる別のイメージ (つまり、レーザーのような発射体) を描画する方法を考え出すことです。
問題は、たとえば、「g.drawImage(laser,laser_dx,laser_dy,this) in the if statement that contains "KeyEvent.VK_Z"」というメソッドを記述した場合、keyPressed メソッドで突然「このメソッドはローカルで使用されていません」と表示されることです。そのような障害を解決するための私のアプローチは何ですか?
これまでに行ったことは、プログラムのすべてのキーボード イベントを含む "GameBoard" クラス内にネストされたクラスを作成することです。
private class Adapter extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
int keyCode = e.getKeyCode();
if(keyCode == KeyEvent.VK_RIGHT)
{
ball_dx += ball_velocity;
}
if(keyCode == KeyEvent.VK_LEFT)
{
ball_dx -= ball_velocity;
}
if(keyCode == KeyEvent.VK_Z){
}
}
}
「Gameboard」と呼ばれる別のクラスの描画グラフィックス メソッドは次のとおりです。このクラスは、緑色のボールの画像 (.png 画像) を描画するだけで、矢印キーで左右に移動できます。
public class GameBoard extends JPanel implements ActionListener
{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(ball, ball_dx, ball_dy, this);
Toolkit.getDefaultToolkit().sync();
}
public void actionPerformed(ActionEvent arg0)
{
repaint();
}
}