Heim >Java >javaLernprogramm >Wie können Timer verwendet werden, um eine zufällig verzögerte Bewegung von Objekten zu erzeugen?
In diesem Szenario haben wir eine Reihe von Formen, die zufällig am unteren Bildschirmrand erscheinen, eine bestimmte Höhe erreichen müssen und dann absteigen. Das Problem entsteht, wenn sich alle Formen gleichzeitig und ohne Zeitverzögerung bewegen.
Um dieses Problem anzugehen, werden wir ein Konzept einführen, das als „zufälliger verzögerter Start“ bekannt ist. Jede Form hat ihren eigenen Verzögerungswert, und erst wenn dieser Wert Null erreicht, beginnt die Form mit ihrer Bewegung. Durch Variieren dieser Verzögerungswerte erzeugen wir das gewünschte zufällige Verhalten.
Im bereitgestellten Code verfügt unsere Shape-Klasse über Eigenschaften wie die X-Position der Form und die anfängliche Y-Position am unteren Rand Bildschirm, zufälliger verzögerter Start, Zeichnungsstatus und Bewegungsrichtung. Die Methode move() stellt sicher, dass sich Formen erst dann bewegen, wenn das Zeichenflag auf „true“ gesetzt ist. Wenn eine Form die maximale Höhe erreicht (in diesem Fall 50 Pixel), ändert sie ihre Richtung und beginnt abzusteigen.
Wir verwenden einen einzigen Timer, um die Bewegung aller Formen zu verwalten. Im ActionListener des Timers durchlaufen wir die Formen und rufen deren Methoden move() und dependence() auf. Die Methode dependDelay() reduziert den zufälligen verzögerten Startwert, und sobald er Null erreicht, wird das Zeichenflag auf „True“ gesetzt, sodass sich die Form bewegen kann.
Beim Ausführen Im Programm sehen Sie, wie in zufälligen Abständen am unteren Bildschirmrand Formen auftauchen, eine bestimmte Höhe erreichen und dann wieder nach unten fallen. Die Animation erzeugt einen visuell ansprechenden Effekt.
Das obige ist der detaillierte Inhalt vonWie können Timer verwendet werden, um eine zufällig verzögerte Bewegung von Objekten zu erzeugen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!