我正在尝试使用g.drawImage()将我绘制的图像移动到Jpanel上。我需要知道为什么这段代码不起作用(我正在尝试使用w键重新定位图像以将其移动)
int CharX = 1;
int CharY = 30;
public void keyPressed(KeyEvent w) {
CharY = CharY + 1;
repaint();
}
public void keyReleased(KeyEvent w) {
CharY = CharY + 1;
repaint();
}
答案 0 :(得分:3)
if (w.getKeyCode() == KeyEvent.VK_W)
CharY
中减去它以使其上升。如果不知道paint
函数中的内容,或者您是否实现了它,很难说问题是否实际存在,但它应该看起来像
public void paint(Graphics g) {
g.drawImage(yourImage, CharX, CharY, null);
}
答案 1 :(得分:0)
你不应该在keyPressed()或keyReleased()方法中调用repaint()。
public void keyPressed(w.getKeyCode() == KeyEvent.VK_W) {
CharY = CharY + 1;
}
稍后再调用repaint()。