distribute(), pipe(), snap()
در GSAP، توابع کمکی مانند distribute()
، pipe()
و snap()
ابزارهای حرفهای برای مدیریت مقادیر پویا و انیمیشنهای گروهی هستند. این توابع به شما کمک میکنند تا مقادیر را محاسبه، تبدیل یا توزیع کنید و رفتار انیمیشنها را دقیق و پیشبینیپذیر کنید.
🟢 1️⃣ ()distribute
-
کاربرد: توزیع مقادیر بین چند المان به صورت خطی، مرکزی، شعاعی یا سفارشی.
-
ساختار پایه:
مثال:
-
آرگومان
options
میتواند شامل موارد زیر باشد:-
base
→ مقدار پایه -
amount
→ مقدار نهایی برای توزیع -
each
→ فاصله بین هر المان -
from
→ مرکز توزیع (start
,center
,end
, عدد یا index)
-
مثال با from
:
🟡 2️⃣ ()pipe
-
کاربرد: ایجاد زنجیرهای از توابع که روی مقدار اجرا میشوند، مشابه pipeline در برنامهنویسی.
-
ساختار:
مثال:
-
میتوان از آن در modifiers یا Tween dynamic values استفاده کرد.
🟠 3️⃣ ()snap
-
کاربرد: چسباندن مقادیر به نزدیکترین Step یا مقدار مشخص، مشابه
clamp
ولی با گسستگی. -
ساختار:
مثال با step:
مثال با آرایه:
-
کاربرد عملی: انیمیشن کارتها، چرخش گسسته، یا محدود کردن مقادیر input → output.
🟤 ترکیب این توابع با GSAP
Distribute + Tween
Snap + Modifier
Pipe در Modifiers
✅ جمعبندی
تابع | کاربرد |
---|---|
distribute(options) | توزیع مقادیر بین المانها به صورت خطی، مرکزی، یا سفارشی |
pipe(fn1, fn2, ...) | ساخت pipeline از توابع برای تغییر مقادیر |
snap(stepOrArray, value) | چسباندن مقادیر به نزدیکترین Step یا مقدار در آرایه |
این توابع کمک میکنند تا انیمیشنهای گروهی، پویا و با رفتار پیشبینیپذیر بسازید، بدون نیاز به محاسبات پیچیده دستی.