Du bist nicht angemeldet.

Twinsearcher

Thomas Krüger

  • »Twinsearcher« ist männlich
  • »Twinsearcher« ist der Autor dieses Themas

Beiträge: 210

Dabei seit: 15. März 2012

Wohnort: Bad Ems

Hilfreich-Bewertungen: 24

  • Private Nachricht senden

1

Samstag, 21. Oktober 2023, 13:51

Frage zu After Effects Expressions...

Moin Leute, bin gerade wieder ein bissl am AE lernen; unter anderem Expressions.
Hier mal ein Code:

var deckkraft = 0;
if(transform.xPosition > 800){deckkraft = deckkraft+1};
else 100;


Wenn die Position des Objektes weiter als 800 ist (x-Achse) dann ist die Deckkraft 1%.

Jetzt soll das so sein, das bei jedem Durchlauf plus 1 gezählt wird; dh nach 100 Pixel Rechtsbewegung
bin ich bei 100% Deckkraft.

Allerdings fängt AE immer bei Zeile 1 an wo die Variable deckkraft genullt wird. :D
dh die Deckkraft ist bei x>800 immer 1% :D

Wie kann ich eine Schleife coden, ohne das die Variable am Anfang quasi zurückgesetzt wird?

Freue mich über ein paar Antworten,

T.

Marcus Gräfe

Administrator

  • »Marcus Gräfe« ist männlich

Beiträge: 5 948

Dabei seit: 14. August 2002

Wohnort: Düsseldorf

Hilfreich-Bewertungen: 566

  • Private Nachricht senden

2

Samstag, 21. Oktober 2023, 18:14

Da AE die ganze Expression bei jedem Frame neu auswertet, ist es logisch, dass "deckkraft" immer 1 ist. Du müsstest "deckkraft" global deklarieren, was in AE aber nicht so einfach wie in JavaScript ist.

Du müsstest dir einen Controller-Layer anlegen, da kannst du den Wert global speichern, ohne dass er ständig geändert wird, siehe https://keyframed.tv/how-to-create-globa…ntroller-layer/

Es hat bereits 1 registrierter Benutzer diesen Beitrag als hilfreich eingestuft.

Benutzer, die diesen Beitrag hilfreich fanden:

Twinsearcher