Tutorials/Animationen: Unterschied zwischen den Versionen
Mike (Diskussion | Beiträge) (→Animations-Arten) |
Mike (Diskussion | Beiträge) (→Geraden-Animation) |
||
Zeile 29: | Zeile 29: | ||
</source> | </source> | ||
− | ... bewegt das Objekt r in einer Sekunde von seinem ursprünglichen bis zum Punkt p. Dort endet die Animation dann und r hat p als Mittelpunkt. | + | ... bewegt das Objekt r in einer Sekunde von seinem ursprünglichen Ort bis zum Punkt p. Dort endet die Animation dann und r hat p als Mittelpunkt. |
<source lang="Java"> | <source lang="Java"> |
Version vom 14. Februar 2015, 16:25 Uhr
Inhaltsverzeichnis
Ziel des Tutorials
Die Engine Alpha bietet dir verschiedene Möglichkeiten, deine Objekte animiert zu bewegen. Nach dem Abschluss dieses Tutorials kennst du die verschiedenen Animations-Arten und kannst damit jedes Grafik-Objekt animieren.
Animations-Arten
Es gibt folgende Animations-Arten:
- Geraden-Animation
Animiert ein Objekt auf einer einfachen Halbgerade - Kreis-Animation
Animiert ein Objekt auf einer Kreisbahn um ein Zentrum - Strecken-Animation
Animiert ein Objekt auf einem Polygonzug (Zickzack-Linie)
Animationen werden von der Klasse AnimationsManager
zur Verfügung gestellt. Die Klasse Game
stellt eine Referenz auf das AnimationsManager-Objekt zur Verfügung. Es gibt nur eine einzige Instanz des AnimationsManagers (Singleton).
Geraden-Animation
Für die Geraden-Animation steht folgende Methode der Klasse AnimationsManager
zur Verfuegung:
public void geradenAnimation(Raum r, Punkt p, int zeit_bis_Punkt, int animations_Zeit)
Dabei wird das Objekt r in Richtung des Punktes p geradlinig bewegt. Der dritte Parameter steht für die Zeit in Millisekunden, bis r bei p angekommen ist. Der vierte Parameter gibt die Zeit in Millisekunden an, wie lange die Animation insgesamt dauern soll.
Beispiele:
manager.geradenAnimation(r, p, 1000, 1000);
... bewegt das Objekt r in einer Sekunde von seinem ursprünglichen Ort bis zum Punkt p. Dort endet die Animation dann und r hat p als Mittelpunkt.
manager.geradenAnimation(r, p, 1000, 3000);
... bewegt das Objekt r in einer Sekunde von seinem ursprünglichen Ort Richtung p. Die Animation geht aber noch zwei Sekunden lang weiter. R hat dann die dreifache Strecke von seinem ursprünglichen Ort bis p zurück gelegt.
manager.geradenAnimation(r, p, 1000, 500);
... würde das Objekt r in einer Sekunde von seinem ursprünglichen Ort bis zum Punkt p bewegen. Da die Animation aber nur 500ms lang dauern soll, bleibt r auf halbem Weg Richtung p stehen.