Navigationslinks überspringen  
Navigationslinks überspringen
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!

 
Copyright © Drawing3D inc