تحريك صورة SVG باستخدام JavaScript
نشرت: 2023-02-22لتحريك صورة SVG باستخدام JavaScript ، فإن الخطوة الأولى هي الوصول إلى عنصر الصورة. يمكن القيام بذلك باستخدام طريقة getElementById (). بمجرد الوصول إلى عنصر الصورة ، فإن الخطوة التالية هي تعيين السمات المطلوبة للرسوم المتحركة. السمات الأكثر شيوعًا التي يتم تعيينها هي سمات "x" و "y" ، والتي تحدد موضع الصورة. تشمل السمات الشائعة الأخرى سمات "العرض" و "الارتفاع" و "التعتيم". بمجرد تعيين جميع السمات المرغوبة ، فإن الخطوة الأخيرة هي استدعاء طريقة "animate ()" على عنصر الصورة.
GreenSock (G SAP) هي المكتبة التي سنستخدمها في هذا البرنامج التعليمي لإنتاج بعض الرسوم المتحركة البسيطة. سنوضح مدى بساطة ربط التحولات المتعددة معًا لإنشاء رسوم متحركة معقدة. إذا كنت ترغب في إضافة المزيد من برامج تصميم الرسوم إلى مشروع الرسوم المتحركة الخاص بك ، فراجع مجموعتنا من أفضل برامج تصميم الرسوم المجانية. سيتم استخدام MorphSVG (يفتح في علامة تبويب جديدة) لتحويل مسار المياه الأصلي إلى مسار جديد. بالإضافة إلى ذلك ، يتيح لنا GSAP تأجيل الرسوم المتحركة عن طريق تعيين "yoyo" إلى "false". سنقوم أيضًا بإنشاء رسم متحرك لسماء الليل للقمر والنجوم. من خلال استخدام نفس التقنية التي استخدمناها لتحريك الشمس بعيدًا عن الأنظار ، سنتمكن من التركيز عليها.
من أجل حساب الرسوم المتحركة والتأخير ، استخدمنا رياضيات بسيطة بناءً على متغير "day_night_cycle_time" الخاص بنا. النجوم هي الشيء الوحيد الذي يبقى في الرسوم المتحركة لدينا بعد أن تومض. لقد انتهينا من الرسوم المتحركة لدورة الليل والنهار. يمكن استخدام الصورة لإضافة عناصر جديدة إلى مناظرنا الطبيعية باستخدام SVG. يجب تحريك طبقتين من الثلج بشكل عمودي لتحريكهما. اعتمادًا على المدة ، ستظهر الطبقات تتحرك بسرعات مختلفة.
حدد الإطار الذي تريد تحريكه ثم قم بتمكين تصدير رسوم SVG المتحركة بالنقر فوق Enable SVG Export. لإنشاء رسوم متحركة مثل مواضع X و Y و S و X و Y و Y ، ضع عقدة رسوم متحركة في هذا الإطار. يمكنك تعديل الرسوم المتحركة الخاصة بك في ميزة المعاينة المباشرة المضمنة حتى تشعر بالرضا عن النتائج.
يمكنك ضبط عتامة SVG عن طريق تحديد العناصر المهمة وتعديلها وفقًا لذلك. بالنسبة للخطوات الإضافية ، يجب عليك فك تشفير إطارات المفاتيح والأسماء قبل تحريك SVG. حافظ على الخصائص والرسوم المتحركة سليمة من خلال تخصيصها للعناصر. بمجرد تحرير جميع العناصر ، احفظ الملف النهائي.
كيف تقوم بتحريك Svg؟
هناك عدة طرق لتحريك SVG. إحدى الطرق هي استخدام إطارات مفاتيح CSS لتحديد الحركة ، وطريقة أخرى هي استخدام SMIL ، والثالثة هي استخدام JavaScript.
لا تعمل الرسوم المتحركة على الويب على تحسين تجربة المستخدم فحسب ، بل توفر أيضًا ملاحظات وتوجيهات مرئية. ستعلمك هذه المقالة كيفية إنشاء رسوم متحركة خفيفة الوزن وقابلة للتطوير باستخدام SVGs و CSS. يمكن استخدامه بعدة طرق ، بما في ذلك التحميل والتحميل وتبديل القائمة وتشغيل مقاطع الفيديو وإيقافها مؤقتًا وتفتيح الصفحات المقصودة. هذه السمات مماثلة لسمات CSS ويتم تعيينها مباشرة على ملف SVG. إذا أردنا إظهار شكل في الخلفية ، فيجب أن يكون في أعلى كود SVG. من الأهمية بمكان أن تكون على دراية بما تم تعيينه حتى تتمكن من التخطيط مسبقًا لما يظهر في نافذة تحميل الصفحة. يتم تقليل طلب HTTP واحد ، مع تحسين الأداء عندما يكون SVG مضمّنًا.
يمكن إضافة نمط CSS باستخدام علامة <style> ، والتي يتم تضمينها في علامة> svg>. في الدورة التدريبية الخاصة بنا ، سننظر في نوعين من الرسوم المتحركة يختلفان من حيث مقدار التحكم الذي توفره. يجب أن تتغير الأشرطة على طول المحور Y في أربعة أماكن في المخطط الزمني حتى يتغير المقياس. يتم تحديد طول الرسوم المتحركة بالرقم الأول ، بينما يتم تحديد التأخير بالرقم الثاني. تمت إضافة معرفات SVG والمكونات الثلاثة للعنصر لتسهيل استهدافهم باستخدام Sass. في هذا الدرس ، سنستخدم SVGs لإنشاء قائمة هامبرغر. عندما يقوم المستخدم بالتمرير ، يتم تدوير المستطيلات العلوية والسفلية استجابةً لإجراءات المستخدم.
عندما نشير إلى هذه الرسوم المتحركة ، فإننا نشير إلى الرسوم المتحركة للنص النطاطي. في العرض النهائي ، تظهر الرسوم المتحركة النصية المتموجة كل حرف في العالم يتحرك في موجة. مع تزايد تعقيد واجهات الويب ، تصبح ميزات المتصفح أكثر أهمية. الرسوم المتحركة CSS الخاصة بنا بسيطة للغاية باستخدام الأدوات التالية. LogRocket هي أداة يمكنها مراقبة وتتبع وحدة المعالجة المركزية والذاكرة وموارد المعالجة الأخرى لجميع عملائك وكذلك جميع المستخدمين في الإنتاج.
بالإضافة إلى إنشاء رسوم متحركة بسيطة لأجزاء أكبر من العمل الفني ، يمكن أن تكون الميزة مفيدة في إنشاء رسوم متحركة معقدة يصعب تحقيقها باستخدام JavaScript. قد تظهر مجموعة من الأشكال بمرور الوقت أكثر تعقيدًا من شكل واحد إذا كانت جميعها متحركة في نفس الوقت.
إنشاء رسوم متحركة معقدة باستخدام Svg
يمكن إنشاء تأثير متحرك باستخدام قدرة SVG على تغيير الرسومات المتجهة بمرور الوقت. تأكد من إنشاء محتوى SVG باستخدام الطرق التالية. بمجرد إنشاء بعض عناصر الرسوم المتحركة لـ SVG مثل animate () ، يمكنك تحريك خصائص هذه العناصر بمرور الوقت. يمكنك استخدام CSS لإنشاء تأثيرات رسوم متحركة معقدة لا تستطيع CSS توفيرها. تصف أجزاء المستند التغييرات التي تم إجراؤها على عناصر المستند بناءً على وقتها. بمرور الوقت ، يمكنك تحريك حجم عنصر أو لونه أو موقعه في ملف SVG. يتيح إنشاء فئات لـ SVG لـ CSS تحديد الأشكال الفردية داخل الصورة. هذا يسمح بتحريك الأشكال المختلفة للصورة في أوقات مختلفة ، مما ينتج عنه تأثير أكثر تعقيدًا.
هل يمكن أن يتكامل Svg مع جافا سكريبت؟
إنه تنسيق رسومات ناضج ومتطور. كتنسيق متجه ، فهو أصغر بكثير من تنسيقات JPEG و PNG وتنسيقات نقطية أخرى. متصفحات الويب تدعمها بعبارات لا لبس فيها. إنه مواطن DOM حقيقي ، ويتكامل بسهولة مع CSS و Javascript.
يتم تمثيل كل من HTML و SVG بواسطة نموذج كائن المستند (DOM) ، وهو نوع من لغة الترميز. حقيقة أنه يمكن التلاعب بها باستخدام جافا سكريبت تجعل من السهل نسبيًا التلاعب بها. في هذه الدورة التدريبية ، سأستعرض كيفية العمل مع كل من SVGs المضمنة والخارجية. يمكن العثور على جميع أمثلة التعليمات البرمجية في الجزء العلوي من هذا المنشور عبر رابط Github. يتم استخدام الكود لكل من SVGs الخارجية والداخلية عند إضافة عنصر <script>. نظرًا لأن SVG لا يمكنه الوصول إلى مستند HTML الذي تم تضمينه فيه ، فإنه غير قادر على رؤية باقي ملفات SVG الخاصة بالصفحة. إذا قمت بلف كود JS في CDATA ، فسوف يعتبره تحليل XML جزءًا من XML.
عملية إنشاء وإزالة العناصر في HTML هي نفسها في اللغات الأخرى. عند إنشاء العناصر ، يجب عليك أولاً تمرير طريقة createElementNS () للمستند المناسب ، بالإضافة إلى اسم العلامة ومساحة الاسم التي يتم إنشاء العنصر فيها. قم بإنشاء عقدة نصية جديدة باستخدام طريقة createTextNode () ثم قم بإلحاقها بالعنصر المراد إزالته. إنه يعمل لأنه من المستحيل نسخ ولصق المستندات من نفس المكان.
من الممكن استخدام SVG في مجموعة متنوعة من التطبيقات. يمكن استخدام JavaScript لمعالجة صور SVG ، مما يجعلها متعددة الاستخدامات للغاية. تسهل البرامج النصية استخدام SVG أكثر من تنسيقات الصور الأخرى. قبل إجراء الاختبار ، اقرأ التعليمات بعناية للتأكد من أنها محددة جيدًا وأنك تتبعها.
صور Svg: كيفية استخدامها في مستند Html الخاص بك
إذا كنت تريد إظهار صورة SVG مباشرة في مستند HTML ، فاستخدم علامة * svg. يمكنك القيام بذلك عن طريق فتح صورة SVG في كود Visual Studio أو باستخدام IDE المفضل لديك ونسخ الكود إلى النص الأساسي> عنصر مستند HTML الخاص بك. إذا سارت الأمور على ما يرام ، فسيبدو موقع الويب الخاص بك تمامًا مثل الموقع الموضح أدناه.
كتنسيق صورة مستند إلى XML ، يكون حجم SVG بسيطًا ولا يتدهور بمرور الوقت. يمكن استخدام CSS و / أو JavaScript لمعالجة وتحريك SVGs بسهولة. نتيجة لذلك ، يمكن استخدام SVG لتصميم مواقع ويب سريعة الاستجابة (وبالتالي تقليل وقت تحميل الصفحة).
في قسم رأس الصفحة ، ضع jQuery SVG CSS و JavaScript. بدلاً من ذلك ، يمكنك استخدام الإصدار المصغر من الشفرة… .js.html.js.html.js.html.js.html.js.html.js.html.js.html.js.html
يتم دعم كل من HTML و CSS بواسطة جميع المتصفحات الشائعة ، بما في ذلك Google Chrome و Firefox و IE و Opera. بالإضافة إلى ذلك ، تدعم برامج تحرير النصوص الأساسية وبرامج تحرير الرسومات المتطورة مثل CorelDRAW ملفات SVG.
هل يمكنك تحريك مع جافا سكريبت؟
نعم ، يمكنك تحريك باستخدام JavaScript. في الواقع ، تعد JavaScript واحدة من أكثر اللغات شيوعًا لإنشاء الرسوم المتحركة على الويب. هناك العديد من المكتبات والأطر المتاحة التي تجعل من السهل إنشاء رسوم متحركة معقدة باستخدام JavaScript.
في هذا البرنامج التعليمي ، سنتعرف على كيفية استخدام JavaScript لإنشاء شخصية متحركة. في JavaScript ، يمكن نقل عدد من عناصر DOM حول الصفحة. يمكنه أيضًا تعيين الأسهم العلوية والسهم اليسرى بحيث يمكن وضع كائن حول الشاشة بعدة طرق. تقوم طريقة getElementById () بإرجاع كائن DOM ثم تقوم بتعيينه إلى متغير عام في هذه الحالة. يستخدم moveRight () ، لـ imgobj ، setTimeout () لتحديد موضع الكائن. سيظهر على الشاشة بمجرد تحريك مؤشر الماوس بعيدًا عن الارتباط. عندما يتحرك الماوس الخاص بالمستخدم نحو الارتباط (الصورة) ، يتم تشغيل معالج الأحداث onMouseOver ، وعندما يتحرك الماوس الخاص بالمستخدم باتجاه الارتباط (الصورة) ، يتم تشغيل معالج الأحداث onMouseOut.
إنها طريقة ممتازة لإضافة بعض الذوق البصري إلى صفحة ويب أو تطبيق. يمكن أن يؤدي تغيير نمط عنصر ما على الصفحة إلى منحه مظهر الحركة. تعد انتقالات CSS والرسوم المتحركة طريقة فعالة لإنشاء الرسوم المتحركة. إذا كانت الرسوم المتحركة معقدة ، فقد تحتاج إلى استخدام JavaScript.
تعد انتقالات CSS والرسوم المتحركة طريقة ممتازة لإضافة بعض الحياة إلى صفحة الويب أو التطبيق الخاص بك ، وهي أبسطها وأكثرها فعالية.
الرسوم المتحركة Css مقابل الرسوم المتحركة بجافا سكريبت
على الرغم من أن الرسوم المتحركة لـ CSS تتفوق عمومًا على الرسوم المتحركة المستندة إلى JavaScript ، إلا أنها قد تكون مفيدة في بعض الحالات. يمكن أن تكون مفيدة بشكل خاص في إنشاء تأثيرات الرسوم المتحركة المعقدة.
تحريك جافا سكريبت مسار Svg
يمكن استخدام JavaScript لتحريك كل من عناصر HTML وعناصر SVG. لتحريك عنصر SVG ، يجب عليك أولاً الوصول إلى العنصر باستخدام JavaScript ، ثم تعيين معلمات الرسوم المتحركة باستخدام CSS أو JavaScript.
على CodePen ، أنشأ Louis Hoebregts (Mamboleoo) تحدي " تحريك أي شيء على طول مسار SVG". يمكن عرض تنسيق صورة متجه (SVG) ، والذي لا يحتوي على وحدات بكسل ملونة ولكنه يحتوي على وظائف رياضية ، على الشاشة. في هذه المقالة ، سنلقي نظرة على الوظيفة getPointAtLength () وكيف يمكن استخدامها لإنشاء حالات استخدام إبداعية بناءً على مسار SVG. في كل إطار من هذه الرسوم المتحركة ، سننشئ عنصر دائرة جديدًا وننقله عبر المسار. سيتم تنشيط وظيفة createParticle على كل إطار لإنشاء جسيم جديد ويتلاشى. أنا أستخدم أيضًا مجموعة ضربات-شوط المصهر لجعلها أكثر واقعية للرسوم المتحركة. يمكن الآن استرداد إحداثيات النقاط على طول مسار SVG وتطبيقها ، لذا يمكننا محاولة استخراج هذه الإحداثيات في أي مكان آخر. سيكون للرسوم المتحركة لكل متجه تأخير يتم حسابه على طول المسار من مكانه ، مما يؤدي إلى تدفق لطيف للجسيمات. أنا متحمس لرؤية ما تكتشفه عند تجربة هذه التقنية ، وسأكون سعيدًا برؤية ما توصلت إليه.
إنشاء مسار متقطع بجافا سكريبت خارجي
يمكن الوصول إلى JavaScript عبر * br>. لتحريك هذا المسار كما لو كان يتم رسمه ببطء وسلاسة على الشاشة ، يجب عليك استخدام خاصية stroke-dasharray ، والتي تساوي طول المسار. بمعنى آخر ، طول كل شرطة وفجوة في المنحنى يساوي طول المسار بأكمله.
المسار * br هو نسخة مختصرة من الكلمة. صفيف السكتات الدماغية: 100 100 ؛ * br> إذا كنت تريد استخدام JavaScript ، انقر هنا. تمثل الشرطة طول المسار.
لحساب startDashOffset ، أدخل dashLength / 2 ؛ وبخلاف ذلك ، يكون startLength هو 2. فإن var endDashOffset = dashLength يبدأ عند.
إذا كانت gapLength تساوي صفرًا ، فإن startDashOffset تساوي صفرًا ؛ إذا كانت gapLength واحدة ، فإن endDashOffset تساوي صفرًا.
يمثل var dashArray صفيف var. لـ (var i = start DashOffset ؛ i = end DashOffset ؛ i ++) * br>. DashArray. دفع (جديد). تقوم طريقة date () بإرجاع مصفوفة من أنواع التاريخ التي تتضمن dateLength * dashLength.
فمن الممكن أن يختار vg. ما يلي هو رابط لتطبيق Python. Array.attr (“stroke-dasharray” ، dashArray) ؛
نتيجة لذلك ، سيتم تحريك المسار المتقطع على الشاشة بنفس طريقة رسمه.
مكتبة شبيبة الرسوم المتحركة Svg
مكتبة الرسوم المتحركة SVG هي أداة تساعد المطورين على إنشاء رسوم متحركة باستخدام Scalable Vector Graphics (SVG). توفر المكتبة مجموعة من الوظائف التي تسهل إنشاء الرسوم المتحركة ، كما توفر مجموعة من الأدوات التي تساعد المطورين على ضبط الرسوم المتحركة الخاصة بهم.
على الرغم من حقيقة أن رسوم SVG المتحركة يمكن أن تكون صعبة بعض الشيء ، فإن هذه المكتبات تجعل من السهل جدًا على أي شخص إنشاء موقع ويب متحرك. في هذا المنشور ، سوف أطلعك على عشر مكتبات للرسوم المتحركة Javascript SVG يمكن استخدامها لإنشاء بعض الرسوم المتحركة الرائعة حقًا. يمكنك إنشاء برنامج نصي مخصص يرسم SVG بأي طريقة تريدها باستخدام العديد من الرسوم المتحركة المتاحة. بمساعدة نص JS متعدد الاستخدامات مثل SVG ، يمكنك إنشاء صورة تجريدية حديثة وأنيقة باستخدام الرسوم المتحركة. الهدف من مشروع Svg.js هو أن يكون صغيرًا قدر الإمكان دون الحاجة إلى أي تبعيات. يتمتع Animate Plus بمستوى عالٍ من الأداء وخفيف الوزن (3 كيلوبايت مضغوط) ، مما يجعله مثاليًا لجهاز محمول.
ارسم Svg باستخدام جافا سكريبت
هناك عدة طرق لرسم svg باستخدام جافا سكريبت. الطريقة الأكثر شيوعًا هي استخدام مكتبة مثل d3.js. تتضمن الطرق الأخرى استخدام svg api مباشرة أو استخدام مكتبة مثل snap.svg.
لماذا يجب عليك استخدام Svg
يعد إنشاء مستند تفاعلي غني بالرسوم المتحركة باستخدام JavaScript طريقة رائعة لإضافة التفاعل والمرونة وسهولة الاستخدام. لا يعتمد على الدقة ويسهل تحريكه ومعالجته باستخدام CSS أو JavaScript. لهذا السبب ، يمكن أن يكون تصميم SVG سريع الاستجابة ، مما يسمح بتقليل تحميل الصفحة.
الرسوم المتحركة لشكل Svg
تعد الرسوم المتحركة لأشكال SVG طريقة رائعة لإضافة الاهتمام والحركة إلى صفحات الويب والتطبيقات الخاصة بك. من خلال تحريك الأشكال في صور SVG ، يمكنك إنشاء تصميمات جذابة وملفتة للنظر تجذب انتباه المستخدمين وتجعلهم يعودون للمزيد.
رسومات المتجهات القابلة للتطوير (SVGs) هي تنسيقات صور تستخدم XML ، تمامًا مثل HTML. يحدد عناصر مجموعة متنوعة من الأشكال الهندسية المألوفة التي يمكن دمجها لإنشاء رسومات ثنائية الأبعاد. في هذه المقالة ، سأوضح لك كيفية استخدام SVGs وتقنيات الرسوم المتحركة لتحسين تطوير الواجهة الأمامية للويب. تُستخدم هاتان السمتان لرسم المسارات في SVG ، بالإضافة إلى Str-dasharray و stroke-dashoffset. ستؤدي إضافة هذه الخصائص إلى المسار إلى منحه مظهر الرسم التدريجي. بالإضافة إلى الأقواس ومنحنيات بيزير التربيعية ، يمكن استخدام أوامر الرسم الأخرى ، مثل تلك المذكورة أعلاه ، لإنشاء رسومات أكثر تعقيدًا. يمكن تطبيق مجموعة متنوعة من SVG والتأثيرات على مساراتك باستخدام strokes-dasharray و strokes-dashoffset ، وهما سمتان قويتان.
إنها أداة بسيطة لاستخدامها في تجربة السمتين. باستخدام JavaScript ، يمكنك جعل تقنيات الرسوم المتحركة المستخدمة في المقالة السابقة أكثر بساطة. تعد مكتبة Vivus خيارًا ممتازًا لأولئك الذين يبحثون عن مكتبة تقوم بالمزيد من تلقاء نفسها ولكنها لا تزال تحقق نتائج مذهلة. يجعل Snap.svg من السهل رسم صور SVG باستخدام JavaScript ، ونتيجة لذلك ، يسمح لك بتحريكها مباشرةً باستخدام طريقة .animate (*). تتيح لك مكتبة anime.js ، المشابهة لـ anime.js ، إنشاء عنصر div باتباع مسار SVG ببضعة سطور من التعليمات البرمجية.
أمثلة Svg جافا سكريبت
هناك العديد من الطرق لاستخدام JavaScript مع SVG. على سبيل المثال ، يمكنك استخدام JavaScript لإنشاء خريطة تفاعلية تُبرز البلدان المختلفة عندما تحوم فوقها. يمكنك أيضًا استخدام JavaScript لإنشاء رسومات متحركة أو للتحكم في تشغيل ملفات الصوت والفيديو.
يتم استخدام Vector Graphics لوصف هذه الرسومات. لغة التوصيف القابلة للتوسيع (XML) هي تنسيق الصورة المستخدم لكتابة الرسومات المتجهة. في CSS و HTML ، يمكنك استخدام صورة SVG بعدة طرق. في هذا البرنامج التعليمي ، سنستعرض ست طرق مختلفة. هذه هي عملية إنشاء sva كصورة خلفية CSS. يشبه هذا إضافة صورة إلى مستند HTML بعلامة> img>. في هذه الحالة ، نستخدم CSS بدلاً من HTML لإجراء المزيد من التخصيصات.
يمكن أيضًا استخدام عنصر> كائن> HTML لإضافة صور إلى صفحة ويب. في جميع المستعرضات ، يمكن استخدام الخاصية <object> لعرض رسومات متجهة قابلة للتحجيم (SVG). هناك طريقة أخرى لاستخدام صورة في HTML و CSS باستخدام بناء الجملة هذا وهي استخدام عنصر HTML: نظرًا لأن معظم المتصفحات الحديثة تفتقر إلى دعم المكونات الإضافية للمتصفح ، فإن الاعتماد على مثل هذه الإضافات ليس فكرة جيدة.
Svg بلغة جافا سكريبت: هل يمكنك استخدامه؟ كيف تقوم بتضمينه؟
بالإضافة إلى الأدوات عبر الإنترنت ، يمكنك أيضًا استخدامها لتضمين صور SVG على موقعك. Services.js ، على سبيل المثال ، تأتي مع عدد من خيارات تضمين SVG.
هل يمكننا استخدام SVG في JavaScript؟
بالتأكيد ، أعتقد ذلك. بالإضافة إلى التصميم / البرمجة النصية ، يمكن تصميم كل عنصر في صورة SVG باستخدام CSS أو كتابته باستخدام JavaScript.
كيف يمكنك تضمين ملف sva؟
يمكنك إدراج صور SVG مباشرة في مستند HTML باستخدام علامة * svg. بنسخ الكود ولصقه في جسم> عنصر مستند HTML ، يمكنك الاستفادة من صورة SVG في كود VS أو IDE المفضل لديك. إذا سار كل شيء وفقًا للخطة ، فيجب أن يكون لديك صفحة ويب تشبه تمامًا الصفحة الموضحة أدناه.