paint-brush
آموزش: نحوه تبدیل فایل های Figma به SVG با عناصر Rectتوسط@skriv
10,256 قرائت
10,256 قرائت

آموزش: نحوه تبدیل فایل های Figma به SVG با عناصر Rect

توسط Aleksandr Krivov2m2024/10/18
Read on Terminal Reader

خیلی طولانی؛ خواندن

اخیراً یک کار جالب آمد، تغییر SVG سفارشی، به پروژه Webflow برای انیمیشن. فکر کردم مشکلی نیست، یک Figma را باز کردم، کد منبع SVG را گرفتم، آن را انداختم و .... کار نکرد 😔 با تحقیق در مورد مشکل، مشخص شد که کتابخانه ای که SVG را متحرک می کند، مستقیماً با عناصر rect در همان SVG کار می کند. خوب دوباره مشکلی نیست من فکر کردم :)، بیایید فقط نام همه لایه ها را به Rect تغییر دهیم و خوشحال خواهیم شد. با تغییر نام، من به کد منبع SVG نگاه کردم و rect را نمی بینم :(
featured image - آموزش: نحوه تبدیل فایل های Figma به SVG با عناصر Rect
Aleksandr Krivov HackerNoon profile picture
0-item


اخیراً یک کار جالب آمد، تغییر SVG سفارشی، به پروژه Webflow برای انیمیشن.


فکر کردم چیز مهمی نیست، Figma را باز کردم، سورس کد SVG را گرفتم، آن را انداختم و .... درست نشد 😔


با تحقیق در مورد مشکل، مشخص شد که کتابخانه ای که SVG را متحرک می کند، مستقیماً با عناصر rect در همان SVG کار می کند. خوب دوباره مشکلی نیست من فکر کردم :)، بیایید فقط نام همه لایه ها را به Rect تغییر دهیم و خوشحال خواهیم شد.


با تغییر نام، من به کد منبع SVG نگاه کردم و rect نمی بینم :(


svg من اول است اما من به جای مسیر به یک عنصر rect نیاز دارم


بعد، خیلی راحت‌تر روی صندلی‌ام نشستم و کارآمدتر شروع به تحقیق کردم.


معلوم شد که برای درک SVG عناصری را که می‌خواهیم به‌عنوان recr متحرک کنیم، باید آنها را ترسیم کنیم... درام رول - از طریق فریم‌ها.

شروع به آزمایش کرد و همه چیز کار می کند.



اما حالا یک مشکل دیگر وجود دارد:

چگونه این فرآیند را خودکار کنیم؟

ما در حال حاضر تصاویر کشیده زیادی داریم و نمی خواهیم آنها را دوباره انجام دهیم.

خوب، از آنجایی که ما در Frames کار می کنیم، راهی برای خروج پیدا کرده ایم، باید افزونه ای ایجاد کنیم که همه عناصر را در فریم ها بپیچد.


کد منبع افزونه:


 const selectedNodes = figma.currentPage.selection; if (selectedNodes.length === 0) { figma.notify("Please select at least one layer."); } else { selectedNodes.forEach(node => { const frame = figma.createFrame(); frame.resize(node.width, node.height); frame.x = node.x; frame.y = node.y; frame.appendChild(node); node.x = 0; node.y = 0; }); figma.notify("All selected layers are wrapped in frames!"); } figma.closePlugin();


یا پروژه را در GitHub دانلود کنید :-)

نتیجه:

30 دقیقه کد و تمام انیمیشن ها کار می کنند، کار برای آینده انجام شده است.

نتیجه گیری:

اگر نمی توانید کارهای جالبی پیدا کنید، آنها خودشان شما را پیدا خواهند کرد. همه چیز را خودکار کنید :)

L O A D I N G
. . . comments & more!

About Author

Aleksandr Krivov HackerNoon profile picture
Aleksandr Krivov@skriv
Working around the World. Share my thoughts and experiences.

برچسب ها را آویزان کنید

این مقاله در ارائه شده است...