„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > After Effects: While-Schleifen

After Effects: While-Schleifen

Veröffentlicht am 06.11.2024
Durchsuche:147

After Effects: While Loops

Inhalt

  • Einführung
  • while-Schleifen vs. if-Anweisungen
  • while-Schleifen vs. for-Schleifen
  • Wann man While-Schleifen verwendet?
  • Abschluss

Einführung

Vollständige Offenlegung: Ich hasse While-Schleifen. Es hat lange gedauert, bis ich sie verstanden habe, aber ich glaube, ich verstehe endlich ihren Zweck.

Am Anfang stürzte After Effects jedes Mal ab, wenn ich versuchte, meine eigene While-Schleife zu schreiben. Nachdem ich nun etwas mehr darüber weiß, was schief gelaufen ist, möchte ich aufschreiben, was eine While-Schleife ist, wann man sie verwendet und wie man sie in Ihre After Effects-Ausdrücke integrieren kann, ohne dass Ihr Projekt abstürzt (denken Sie daran, regelmäßig zu speichern). Leute).

while-Schleifen vs. if-Anweisungen

Eine while-Schleife ist, wie der Name schon sagt, eine Schleife, die so lange ausgeführt wird, wie der Ausdruck wahr ist.

„Wird ausgeführt, solange der Ausdruck wahr ist“ – das klingt ein wenig nach einer if-Anweisung, nicht wahr?

if (time 



Wenn Sie diesen Ausdruck zur Eigenschaft „Quelltext“ einer Textebene hinzufügen, werden Sie feststellen, dass der Text in den ersten zwei Sekunden Ihrer Zeitleiste „Text ein“ lautet und nach dieser Zeit kein Text mehr angezeigt wird. Eine if-Anweisung prüft, ob ein Ausdruck wahr ist oder nicht, und wenn ja, führt sie den Befehl einmal aus, und zwar nur einmal.

Wenn Sie es jedoch in diesen Ausdruck ändern würden, würden Sie feststellen, dass After Effects fast sofort abstürzt:

while (time 



Das liegt daran, dass die while-Schleife eine Schleife ist und daher den Befehl wiederholt ausführt, wenn die Aussage wahr ist. Solange sich Ihr Cursor in den ersten 2 Sekunden Ihrer Timeline befindet, wird die While-Schleife unendlich wiederholt. Nicht gerade ideal und schon gar nicht das, was wir erreichen wollten! Es ist wichtig sicherzustellen, dass Ihre while-Schleife irgendwann falsch wird, um diese Endlosschleifen zu vermeiden.

Weitere Informationen zu if-Anweisungen finden Sie in meinem vorherigen Artikel hier.

while-Schleifen vs. for-Schleifen

Okay, es ist also wichtig zu beachten, dass keine while-Schleifen wie if-Anweisungen verwendet werden. Es gibt aber auch andere Arten von Schleifen, mit denen wir Ausdrücke erstellen können. Wie unterscheidet sich beispielsweise eine while-Schleife von einer for-Schleife?

Eine for-Schleife funktioniert mit drei Argumenten und ist ideal, wenn Sie wissen, wie oft Sie Ihre Befehle wiederholen müssen.

Nehmen Sie dieses Beispiel und generieren Sie Zufallszahlen:

//variables
let counter = 0;
let num = 0;
let numArray = [];

//For loop
for (let i = 0; time >= i/2; i  ) {
    seedRandom(counter, timeless = true);
    num = Math.floor(random(1, 6));
    numArray.push(num);
    counter  
}

//return
numArray[counter - 1]

Nachdem ich meine Variablen eingerichtet habe, beginnt die Schleife mit let i = 0 und setzt das erste Argument, das einmal ausführt. Dann legt time >= i/2 fest, wie oft die Schleife ausgeführt werden soll. Wenn Sie die Schleife auf diese Weise einstellen, wird die Schleife zweimal pro Sekunde ausgeführt, da die Zeit größer oder gleich der Hälfte von i sein muss. Schließlich das dritte Argument, das ich jedes Mal ausführen werde, nachdem die Schleife ausgeführt wurde. In diesem Fall erhöht sich der Wert von i um 1.

Wenn Sie diesen Ausdruck erneut in der Eigenschaft „Quelltext“ einer Textebene ausführen, wird zweimal pro Sekunde eine Zufallszahl zwischen 1 und 5 angezeigt.

Weitere Informationen zu for-Schleifen finden Sie in meinem vorherigen Artikel hier.

Eine While-Schleife wird am besten verwendet, wenn Sie nicht wissen, wie oft Ihre Schleife ausgeführt werden muss. Aus diesem Grund habe ich festgestellt, dass sie nicht gut mit Ausdrücken funktioniert, die Zeit in Anspruch nehmen Wie for-Schleifen funktionieren so gut, weil sie Sie in diesen lästigen Endlosschleifen gefangen halten.

Wann sollten wir while-Schleifen verwenden?

Wann sollten while-Schleifen verwendet werden?

Vor diesem Hintergrund sollte unter folgenden Bedingungen eine While-Schleife verwendet werden:

  • Wir müssen den Ausdruck mehr als einmal ausführen
  • Wir wissen nicht, wie oft wir unsere Schleife ausführen müssen
  • Wir sind in der Lage, die Schleife zu unterbrechen, um zu verhindern, dass sie bis ins Unendliche ausgeführt wird

Ich habe kürzlich eine Verwendung dafür in After Effects gefunden, als ich an meinem Zufallszahlengenerator-Projekt arbeitete.

Sehen wir uns den folgenden Code an:

//variables
let counter = 0;
let num = 0;
let numArray = [];

//For loop
for (let i = 0; time >= i/2; i  ) {
    seedRandom(counter, timeless = true);
    num = Math.floor(random(1, 6));

//While loop inside of For loop
        while (num == numArray[counter - 1]) {
        num = Math.floor(random(1, 6));
        }

    numArray.push(num);
    counter  
}

//return
numArray[counter - 1]

In diesem Fall prüft die while-Schleife, ob der aktuelle Wert von num dem vorherigen Wert entspricht, der im Array numArray gespeichert ist. Wenn dies der Fall ist, wird eine neue Zufallszahl zwischen 1 und 5 generiert. Die Schleife wird ausgeführt, solange num und die vorherige im Array gespeicherte Zahl gleich sind. Sobald die Zahlen jedoch nicht übereinstimmen, endet die while-Schleife und der Ausdruck kann mit der nächsten Codezeile fortfahren.

Da ich möglicherweise mehr als einmal eine neue Zufallszahl generieren muss, funktioniert eine if-Anweisung hier nicht.

Und weil ich nicht weiß, wie oft ich die Zufallszahl aktualisieren muss, ist die Anzahl der Schleifen auch ein Rätsel: Daher ist eine for-Schleife auch hier nicht gut.

Daher ist eine While-Schleife meine beste Option. Es wird so oft ausgeführt, wie ich es brauche, bis das darin enthaltene Argument falsch ist, was sicherlich passieren wird, solange die Funktion random() eine Zahl generiert, die nicht mit der vorherigen übereinstimmt.

Abschluss

Zusammenfassend lässt sich sagen, dass While-Schleifen wahrscheinlich ein ungewöhnliches Werkzeug in Ihrem After Effects-Expression-Gürtel sind. Es ist jedoch nützlich, sie zu lernen, beispielsweise in Fällen, in denen die üblichen Verdächtigen möglicherweise nicht geeignet sind.

Fanden Sie das hilfreich? Haben Sie ein Beispiel für die Verwendung einer While-Schleife in Ihrem Projekt? Habe ich etwas falsch verstanden? Bitte hinterlassen Sie mir einen Kommentar und lassen Sie es mich wissen.

Freigabeerklärung Dieser Artikel ist reproduziert unter: https://dev.to/kocreative/after-effects- while-loops-447e?1 Wenn es zu Verstößen gibt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3