Expression loop sangat bermanfaat untuk mengemas waktu pengerjaan animasi jadi lebih ringkas. loop digunakan untuk mengulang animasi sepanjang layer/compositon.
Secara umum ada 2 jenis expression loop. loopIn dan loopOut. perbedaan keduanya terdapat pada tujuan yang ingin kita capai. apakah kita ingin, pengulangan animasi terjadi sebelum keyframe? atau setelah keyframe. agar lebih mudah dimengerti simak penjelasan di bawah.
loopOut
Expression loopOut akan mengulang animasi setelah keyframe. contoh di bawah, terdapat 2 keyframe posisi yang letaknya ada di awal composition.
loopOut("pingpong")
loopIn
Sedangkan Expression loopIn, akan mengulang animasi sebelum keyframe. contoh di bawah, 2 keyframe ada di detik 3. pengulangan animasi terjadi dari awal composition dan berhenti di keyframe terakhir.
loopIn("pingpong")
Problem
Dua contoh diatas menjelaskan kondisi yang harus diperhatikan jika kita ingin mengulang animasi. Kondisinya adalah dimana letak keyframe yang akan menjadi acuan
jika letaknya ada di awal layer atau composition, maka kita harus gunakan Expression loopOut. Sebaliknya, jika letak keyframe ada di tengah atau di akhir layer, maka kita gunakan loopIn
kondisi itu mengharuskan kita mengubah Expression ketika kita ingin mengubah letak keyframe. lalu apakah ada solusi yang lebih cerdas?
Loop Tanpa Tergantung Letak Keyframe Dengan if-else
if-else adalah Expression yang memungkinkan kita memberi syarat pada dua pilihan yang ada. Perintahnya berupa jika dan maka.
Jika keyframe ada di awal layer maka lakukan loopOut. Sebaliknya, jika keyframe bukan terletak di awal layer, maka lakukan loopOut.
dengan begitu, animasi akan terus berulang tanpa peduli dimana letak keyframe dalam layer. Simak contoh di bawah
if (time < key(1).time)
loopIn("pingpong")
else
loopOut("pingpong")