【发布时间】:2017-10-21 08:59:57
【问题描述】:
提前,我想说有很多类似的帖子,但是,它们都不适用于我,或者它们实际上都没有任何答案,并且已经过时了,这意味着可能会有新的java可以帮助我解决问题的功能。
无论如何,我想制作一个有网球拍的游戏。当然,他们必须轮换。为了旋转,我必须在 KeyListener 中调用我的 Graphics2D 方法。如果不在我的关键侦听器方法中添加新的 Graphics2D 变量,我将如何做到这一点?
以下是我实现这一目标的所有方法:
public void draw(Graphics2D g2d) {
g2d.drawImage(getPaddleImg(), x, y, null);
}
public static Image getPaddleImg() {
ImageIcon ic = new ImageIcon("C:/Users/Elliot/Desktop/Eclipse Game Tennis/paddle.png");
return ic.getImage();
}
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if(key==KeyEvent.VK_W){
g2d.rotate(Math.toRadians(5));
} else if(key==KeyEvent.VK_W) {
g2d.rotate(Math.toRadians(-5));
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if(key==KeyEvent.VK_W){
g2d.rotate(Math.toRadians(0));
} else if(key==KeyEvent.VK_W) {
g2d.rotate(Math.toRadians(0));
}
}
我知道,由于KeyPressed() 和KeyReleased() 方法内部的g2d,这段代码会给我一个错误。我如何在这两种方法中调用g2d?或者我如何在 draw() 方法中做同样的事情?
【问题讨论】:
标签: java graphics awt keylistener