AE-Zählerschalter (Min > Hs)

Ich versuche, einen Ausdruck zu erstellen, der den Quelltext von Minuten in Stunden ändert.

Hier ist ein Beispiel für die Grafik, die ich animiere:

Animationsausschnitt

Wie Sie sehen können, ist der 3-Stunden-Zähler angehalten, ich möchte, dass er bei 0 Minuten beginnt und bis 60 erhöht wird, um dann zu Stunden zu wechseln und allmählich 3 zu erreichen .

Ich werde das auch auf den blauen Balken anwenden, der derzeit „ 60 min“ anstelle von „1 Stunde“ anzeigt . Natürlich kann ich das umgehen, aber ich würde gerne einen funktionierenden Ausdruck kennen.

Danke!

Antworten (1)

Erstellen Sie drei Textebenen mit jeweils einem Schieberegler. Nennen Sie die Layer value 1 , value 2 und value 3 .

Fügen Sie im Quelltext jeder Textebene diesen Ausdruck ein, um den Schiebereglerwert anzuzeigen und ihn auf die nächste Minute zu runden:

slider = (effect("Slider Control")("Slider").value);
rounding = (Math.round(slider));
SourceText = rounding + " minutes"

Erstellen Sie eine Textebene namens total .

Fügen Sie Folgendes als Ausdruck in seinen Quelltext ein

totalmins = thisComp.layer("value 1").effect("Slider Control")("Slider") + thisComp.layer("value 2").effect("Slider Control")("Slider") + thisComp.layer("value 3").effect("Slider Control")("Slider")

if (totalmins <60) {
    SourceText = totalmins + " minutes" } else
        if (totalmins > 61) {
        SourceText = Math.round((totalmins/60)*10)/10 + " hours" } 
        else
        "1 hour"

totalmins ist eine Variable, die die Gesamtminuten von den Schiebereglern in den anderen Ebenen addiert.

Wenn die Gesamtzeit unter 60 Minuten liegt, wird die Gesamtzeit in Minuten mit dem angehängten Text „Minuten“ angezeigt.

Wenn die Summe mehr als 61 Minuten beträgt, wird die Gesamtzeit in Stunden mit einer Dezimalstelle angezeigt (die Math.round- Funktion rundet normalerweise auf die nächste ganze Zahl, also müssen wir sie verwirrenderweise mit 10 multiplizieren und dann außerhalb davon durch 10 dividieren um eine Dezimalstelle zu erhalten). Achten Sie auf den Großbuchstaben bei „Math“.

Andernfalls "1 Stunde" anzeigen.

schreigrab

Wow, das ist großartig! Vielen Dank! Ich hatte gerade ein Problem, die Summe wurde nicht von 0 auf 60 m aufgerundet, sondern erst danach, also habe ich math.round nach totalmins hinzugefügt.