Hey Leute,
ich würde gerne die y Koordinate verändern so dass sich der Punkt nach unten bewegt.
Dafür habe ich einen Timer geschrieben und die Klasse Draw.
Draw Klasse:
Ich hatte setter und getter für die birdX und birdY Variable geschrieben diesen stehen jedoch weiter unten.
Wenn ich nun eine setter Methode für birdY nehme und dort immer den Wert in der Timer Klasse um 1 erhöhe, sollte sich der Punkt nach unten bewegen.
Jedoch wird wenn ich birdY verändere der Wert nicht gleichzeitig in der Methode
g2d.fillOval(birdX, birdY, 35, 35);
übernommen, so dass der Punkt sich auf dem Fenster nach unten geht....
Nur wie bekomme ich das hin das ich Klassen übergreifend auf eine Variable zugreife und diese in der Funktion auch ersetzt wird.
OHNE diese gleich auf static zu setzen...
Vielen Dank im Voraus.
ich würde gerne die y Koordinate verändern so dass sich der Punkt nach unten bewegt.
Dafür habe ich einen Timer geschrieben und die Klasse Draw.
Draw Klasse:
Java:
private Window window;
private int birdX = 40;
private int birdY = 40;
private Graphics2D g2d;
public Draw(Window window){
this.window = window;
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(Color.BLACK);
g2d.fillRect(0, 0, window.getWindowX(), window.getWindowY());
g2d.setColor(Color.WHITE);
g2d.fillOval(birdX, birdY, 35, 35);
repaint();
}
Wenn ich nun eine setter Methode für birdY nehme und dort immer den Wert in der Timer Klasse um 1 erhöhe, sollte sich der Punkt nach unten bewegen.
Jedoch wird wenn ich birdY verändere der Wert nicht gleichzeitig in der Methode
g2d.fillOval(birdX, birdY, 35, 35);
übernommen, so dass der Punkt sich auf dem Fenster nach unten geht....
Nur wie bekomme ich das hin das ich Klassen übergreifend auf eine Variable zugreife und diese in der Funktion auch ersetzt wird.
OHNE diese gleich auf static zu setzen...
Vielen Dank im Voraus.