خطوات إبداعية عملية

مدة إطارات الشخصية المتحركة: افحص GIF المحفوظ

مراوح ورقية عاجية بدرجات انفتاح مختلفة على قاعدة منحنية بلون الفحم
عمل فني للمقال. يستخدم الشرح لقطات منفصلة لمساحة Ciyo الفعلية.

أربعة إطارات لا تستلزم أربع مدد متساوية. ينبغي للفانوس الوامض أن يبقى في حالة الفتح أطول من حالة نصف الإغلاق؛ فقد تحوّل المدد المتساوية ومضة قصيرة إلى نبض بطيء.

أنشأنا في Ciyo فانوساً خيالياً بأربعة إطارات وفحصنا GIF الفعلي بعد تنزيله. تدوم حالات مفتوح ونصف مغلق ومغلق ونصف مغلق 600 و100 و200 و100 مللي ثانية. الدورة الكاملة ثانية واحدة. هذا مثال توقيت مولّد بالكود، وليس مقارنة نماذج فيديو.

افصل ترتيب الإطارات عن مدتها

اكتب الترتيب والمدة معاً. يمكن لشريط PNG عرض ترتيب الصور، لكنه لا يثبت مدة ظهور أي إطار. احفظ قائمة التوقيت بجوار الرسم عند الانتقال بين الأدوات.

نكرر عمداً حالة نصف الإغلاق. تبدو الحالتان متماثلتين، لكن لكل منهما موضع مختلف في التسلسل. حافظ على ذلك الترتيب عند فحص الملف المرمّز.

دورة الفانوس التوضيحية
الإطارالحالةالمدةالنهاية التراكمية
0مفتوح600 مللي ثانية600 مللي ثانية
1نصف مغلق100 مللي ثانية700 مللي ثانية
2مغلق200 مللي ثانية900 مللي ثانية
3نصف مغلق100 مللي ثانية1,000 مللي ثانية

أنشئ حركة أصلية ونسخة للعرض

في مشروع Ciyo جديد، اطلب GIF بحجم 32×32 وشريطاً بأربعة إطارات بحجم 128×32 ومعاينة 256×256 بطريقة أقرب جار. حافظ على لوحة الألوان ونقطة تثبيت الرسم. تساعد النسخة المكبّرة في فحص البكسلات؛ ولا ينبغي أن تحل محل ملف اللعبة الأصلي بصمت.

اطلب من الوكيل إعادة فتح GIF بعد حفظه والإبلاغ عن عدد الإطارات المرمّزة ومددها وإعداد التكرار. يكشف ذلك سلوكاً في التصدير لا يثبته شريط يبدو صحيحاً.

واجهة Ciyo كاملة مع طلب توقيت صريح لأربعة إطارات
الطلب الفعلي يتضمن قيم المدد قبل إنشاء الحركة.
جرّب هذا في Ciyo
استخدم الكود فقط لإنشاء حركة فانوس وامض خيالي بفن البكسل، شفافة بحجم 32x32 ومن 4 إطارات. حافظ على ثبات موضع الرسم ولوحة الألوان؛ ترتيب الحالات مفتوح ونصف مغلق ومغلق ونصف مغلق. المدد [600,100,200,100] مللي ثانية، مع تكرار إلى أجل غير محدد ودورة إجمالية 1000ms. سلّم GIF الأصلي وشريط PNG من 4 إطارات وGIF معاينة مكبّراً 8x بطريقة أقرب جار. ضع الشريط والمعاينة على اللوحة، وأظهر روابط التنزيل وكرّر بيان التوقيت في الرد. تحقّق من مدد كل إطار المرمّزة بعد حفظ GIF، والأبعاد، وloop=0، ومجموع الدورة؛ لا تستنتج التوقيت من شريط ثابت. لا تستخدم توليد صور أو فيديو مدفوعاً. هذا مثال توضيحي مولّد بالكود في Ciyo الفعلي، وليس معياراً لجودة نموذج.

افحص الملف المصدّر بدلاً من عدّ الرسومات

تتضمن نتيجة Ciyo الفعلية الشريط وGIF الأصلي وGIF المكبّر. نزّلنا ملفي GIF الأصليين وأعدنا فتحهما بفحص مستقل. لكل منهما أربعة إطارات بمدد مرمّزة [600,100,200,100]، ومجموع 1,000 ms، وإعداد loop=0.

أبعاد الملف الأصلي 32×32 ونسخة الفحص 256×256. هذه قياسات لهذين الملفين فقط. لا تثبت دقة تشغيل المتصفح أو توقيت محرك الألعاب أو جودة الحركة في كل وجهة.

لوحة Ciyo كاملة مع شريط الفانوس ومعايناته المتحركة
مخرجات فعلية. يعرض جدول المدد القريب اتفاق التوقيت بنص مقروء.

احفظ التوقيت عند تغيير الصيغة

تتيح وثائق GIF في Pillow خيارات مدة كل إطار والتكرار، واستخدمناها لفحص المثال. قد تمثّل صيغ أو أدوات استيراد أخرى التوقيت بطريقة مختلفة. سلّم قائمة المدد بدلاً من افتراض أن ورقة الشخصيات تحملها تلقائياً.

طبّق المدد في نظام الحركة المستقبِل

إذا كان محركك يستورد الصور فقط، فطبّق المدد الأربع في نظام الحركة فيه. إن دمج المستورد الإطارات المتماثلة أو حوّل الحركة إلى معدل ثابت، فقارن الدورة الناتجة بالإيقاع المقصود ذي الثانية الواحدة. لا تغيّر الرسم لتعويض فقدان توقيت لم تفهم سببه.

واجهة Ciyo كاملة تعرض تحقق الوكيل من مثال التوقيت
تحقق فعلي للوكيل من الملفات المحفوظة والمستضافة. وأعدنا فتح التنزيلات بصورة مستقلة أيضاً.

راجع دورة بحجم العرض المقصود

شاهد الحركة حيث ستستخدمها. تأكد من بقاء فترة الفتح الطويلة والانتقالات القصيرة واضحة. استخدم النسخة المكبّرة لفحص الثبات واتساق البكسلات، ثم عد إلى الحجم الأصلي للحكم على الإيقاع.

في حركات اللعب يحدد التوقيت أيضاً لحظات الأصوات والمؤثرات وتغيّر الاصطدام. لا يتضمن مثال الوميض هذا منطق هجوم أو ضرر. ضع تلك الأحداث في خط زمني واضح ومستقل واختبره في المحرك.

أسئلة عملية

هل يمكن استنتاج المدة من شريط PNG؟

لا. يعرض الشريط الرسم والترتيب. اقرأ بيان التوقيت أو افحص الحركة المرمّزة.

هل يعني loop=0 أن الحركة متوقفة؟

في ملفات GIF المستخدمة هنا، يطلب loop=0 التكرار إلى أجل غير محدد.

هل تضمن دورة مرمّزة من ثانية واحدة تشغيلها بدقة في كل مكان؟

لا. اختبر التشغيل في المتصفح أو التطبيق أو المحرك الذي سيعرض الحركة.

احتفظ بالتوقيت مع إطارات الشخصية

ابدأ بمثال واحد تم التحقق منه في Ciyo. احتفظ بالأصل وافحص الملف المصدّر قبل استخدامه في مشروعك.