Ahead of time, I would like to say there have been many posts similar to this, however, none of them apply to me or none of them actually have any answer at all, and are outdate
OK! I actually figured it out by myself! What I did is called the g2d.rotate(.....)
inside my draw()
method. What I did is created variables that check for rotation, and set them true or false inside of my KeyPressed()
method. Here is the code I used inside the draw()
method:
if(isRotatingPositive == true) {
g2d.rotate(Math.toRadians(speed));
} else if(isRotatingNegative == true) {
g2d.rotate(Math.toRadians(-speed));
}
The wrong way: You can use Component.getGraphics()
to get the graphics object.
The right way: All painting should be done inside the paint(Component)
method. This is because a user could resize/open/close the window at any time. In your KeyListener
(also research keybindings) you should update a setting on how the player/ racket should be drawn, and then call repaint()