Hey, ich möchte mein Bild innerhalb einer Klasse UFO (Spieler), während des Aufrufes der paint methode um seinen Mittelpunkt drehen lassen. Dieser gibt zumindestens einen FIXPunkt an, jedoch lässt sich der Punkt(0.5*getWidth(),0.5*getHeight())nicht einfach mit den Koordinaten des Bildens addieren ohne nonsense zuerhalten.
Code:
public void paintComponent(Graphics g){
//schlauer GameManager der eine Liste aller GameOjekte mit sich führt
// list ArrayList<GameOBject>
int counter = 1;
while(counter <= m.getLength()){
AffineTransform at = new AffineTransform();
at.rotate(Math.toRadians(m.list.get(counter-1).getScale()),
m.list.get(counter-1).getImage().getWidth(null)*0.5,
m.list.get(counter-1).getImage().getHeight(null)*0.5);
Graphics2D g2d = (Graphics2D) g;
//g2d.setTransform(at);
g2d.drawImage(m.list.get(counter-1).getImage(),at,null);
counter++;
}
}
Habt ihr einen Beispiel Code welches ein Bild dauerhaft bewegt während es, sich im Panel bewegt?