Heim >Java >javaLernprogramm >Wie hält man animierte Ornamente innerhalb der Grenzen eines Java-Weihnachtsbaums?

Wie hält man animierte Ornamente innerhalb der Grenzen eines Java-Weihnachtsbaums?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-18 01:24:10785Durchsuche

How to Keep Animated Ornaments Within a Java Christmas Tree's Boundaries?

Übergabe des aktuellen Datums

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn