Vor der Zeit möchte ich sagen, dass es viele ähnliche Beiträge gegeben hat, aber keiner von ihnen trifft auf mich zu oder keiner von ihnen hat überhaupt eine Antwort und ist veraltet, was bedeutet, dass es neue Java-Features geben könnte das könnte mir helfen, mein Problem zu lösen.Wie rufe ich Graphics Method im KeyListener auf?
Wie auch immer, ich wollte ein Spiel machen, wo es Tennisschläger gibt. Natürlich müssten sie sich drehen. Um zu drehen, muss ich meine Graphics2D-Methode in meinem KeyListener aufrufen. Wie würde ich dies tun, OHNE eine neue Graphics2D-Variable innerhalb meiner Key-Listener-Methode hinzuzufügen?
Hier alle Methoden, die ich habe, dass dieses Ziel beinhaltet erreichen:
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));
}
}
Ich weiß, würde dieser Code mir einen Fehler, weil die g2d
innerhalb der KeyPressed()
und KeyReleased()
Methode. Wie würde ich die g2d
innerhalb dieser beiden Methoden nennen? Oder wie würde ich das gleiche in der draw()
Methode tun?
Ich weiß, dass, aber wie greife ich auf das 'g2d' Variable? Ich schätze Ihre Hilfe dabei, aber das hilft mir nicht, die Variable in meiner Methode zu bekommen, es sei denn, ich verwende den "falschen" Weg –
Alle (in meiner Erfahrung) Grafikobjekte können in Graphics2D umgewandelt werden – ControlAltDel
meinst du '(Graphics2D) g 'wo' g' eine 'Graphics' Variable ist? –