1
我正在學習Java中的一些新東西並且有點困難 - 這是圖形!下面我解釋兩個班級所做的事情。我現在的新障礙正在想出一種方法,通過只按Z來爲球體(即:像激光那樣的射彈)繪製不同的圖像。Java圖形如何在keyPressed中繪製圖像
問題是如果我編寫一個方法例如: 「g.drawImage(laser,laser_dx,laser_dy,this)在包含」KeyEvent.VK_Z「的if語句中,我的keyPressed方法突然說」這個方法不是在本地使用「。我有什麼辦法來解決這個障礙?
什麼我迄今所做的寫入包含我的程序的所有的鍵盤事件「遊戲鍵盤」類中的嵌套類。
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();
}
}
更加結構化的解決方案,我會嘗試你的方法傑克。感謝這些簡單而複雜的例子,它給了我足夠的理由來讓我思考你的方法。 =] – Nicholas