Heim >Java >javaLernprogramm >Wie hält man animierte Ornamente innerhalb der Grenzen eines Java-Weihnachtsbaums?
Der angegebene Codeausschnitt ist eine Implementierung eines Java-Programms, das einen Weihnachtsbaum mit zufällig generierten Ornamenten erstellt. Das Programm hat jedoch ein Problem, bei dem Ornamente, die sich außerhalb der Baumgrenzen bewegen, nicht ordnungsgemäß innerhalb der Grenzen platziert werden. Um dieses Problem zu beheben, muss die move()-Methode in der Star-Klasse geändert werden, um zu prüfen, ob die Grenzen des Containers erreicht werden, und die Richtung entsprechend umzukehren.
Hier ist die korrigierte move()-Methode:
public void move() { if (location.x < 0 || location.x > frame.getContentPane().getWidth() - 20) { xIncr = -xIncr; } if (location.y < 0 || location.y > frame.getContentPane().getHeight() - 20) { yIncr = -yIncr; } translate(xIncr, yIncr); location.setLocation(location.x + xIncr, location.y + yIncr); }
In dieser korrigierten Version prüft die Methode move(), ob die linke, rechte, obere und untere Grenze des Containers (frame.getContentPane()) innerhalb der if-Bedingungen erreicht wird. Wenn eine dieser Grenzen erreicht wird, wird der entsprechende xIncr oder yIncr umgekehrt, wodurch das Ornament seine Richtung ändert und sich innerhalb der Grenzen zurückbewegt.
Das obige ist der detaillierte Inhalt vonWie hält man animierte Ornamente innerhalb der Grenzen eines Java-Weihnachtsbaums?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!