Wir erzeugen einen
FaderAnimator
und öffnen das Testprogram.
public class MyDevice:OpenGlDevice
{
FaderAnimator FaderAnimatorOut = new FaderAnimator();
....
und setzen seine Eigenschaften
protected override void OnCreated()
{
base.OnCreated();
Cone.Material = Materials.Gold;
FaderAnimatorOut.Device = this;
FaderAnimatorOut.Duration = 5000;
FaderAnimatorOut.FromOpacity = 1;
FaderAnimatorOut.ToOpacity = 0;
FaderAnimatorOut.Start(); // und starten ihn gleich
}
Die Folge des Fadeout ist ein schwarzer Bildschirm. Um ihn wieder zu beleben, benötigen wir einen
FaderAnimatorIn, der gestartet wird, wenn der FaderOutAnimator fertig ist.
Fügen wir also einen FaderAnimatorIn hinzu:
public class MyDevice:OpenGlDevice
{
FaderAnimator FaderAnimatorOut = new FaderAnimator();
FaderAnimator FaderAnimatorIn = new FaderAnimator();
.....
Und setzen im OnCreated die Eigenschaften:
protected override void OnCreated()
{
base.OnCreated();
FaderAnimatorIn.Device = this;
FaderAnimatorIn.Duration = 5000;
FaderAnimatorIn.FromOpacity = 0;
FaderAnimatorIn.ToOpacity = 1;
....
Jetzt stellt sich die Frage, wie setzen wir die beiden Animatoren zusammen. Das bewerkstelligt ein AnimatorSet. den wir der
Device hinzufügen
public class MyDevice:OpenGlDevice
{
AnimatorSet AnimatorSet = new AnimatorSet();
...
und ihm die beiden Animatoren als Children im Createteil hinzufügen:
protected override void OnCreated()
{
base.OnCreated();
AnimatorSet.Device = this;
AnimatorSet.ChildAnimations.Add(FaderAnimatorOut);
AnimatorSet.ChildAnimations.Add(FaderAnimatorIn);
Wir starten nun den AnimatorSet statt dem FaderOutAnimator
wir ersetzen
FaderAnimatorOut.Start();
durch
AnimatorSet.Start();
Will man, dass nur der Konus animiert wird muss man folgende zwei Zeilen hinzufügen:
FaderAnimatorIn.Entities.Add(Cone);
FaderAnimatorOut.Entities.Add(Cone);
Will man eine Wiederholung der Animation so setzt man AnimatorSet.Repeating=1. Dan wird der Animationsvorgang zweimal ausgeführt.
Ein Setzen von AnimatorSet.Repeating=-1 bewirkt, dass der Vorgang unendlich oft ausgeführt wird.
Hier der Source für des Fader Beispiel:
Viel Spaß beim Ausprobieren des FaderAnimators!