0%
الحركة والسرعة والفيزياء البسيطة — الفصل 23

الفصل 23 — الحركة والسرعة والفيزياء البسيطة

الجزء 2A — أساسيات اللعبة ثنائية الأبعاد · الفصل 23 من 62 · 8 ساعات

الفصل 23 — الحركة والسرعة والفيزياء البسيطة

المستوى: متوسط المدة التقديرية: 8 ساعات المتطلبات المسبقة: الفصل 20 (حلقة اللعبة، delta time)، الفصل 21 (Canvas)، الفصل 22 (السبرايتات والرسوم المتحركة)، والبرمجة كائنية التوجه من الفصول 08 إلى 11 ما ستتمكن من فعله في النهاية: كتابة صنف المتجه ثنائي الأبعاد بنفسك، وتطبيق الجاذبية، وجعل الشخصية تقفز بقفزة متغيرة وقفزة مزدوجة وcoyote time واحتكاك وارتداد — كل ذلك بـ Flutter الخالص ودون أي محرك فيزياء.


23.0 — أهداف الفصل

في نهاية هذا الفصل ستكون قادرًا على:

  • التمييز بوضوح بين الموضع والسرعة والتسارع، وتحديد الوحدة التي يُعبَّر بها عن كل منها؛
  • شرح ما هو المتجه في بعدين ولماذا تحتاج إليه اللعبة؛
  • كتابة صنف Vec2 كامل من الصفر، غير قابل للتعديل، وقابل للاختبار؛
  • إعادة تعريف العوامل + و- و* و== في Dart؛
  • حساب طول المتجه وتطبيعه؛
  • تشخيص وإصلاح الخطأ الشهير المتمثل في أن الحركة القطرية أسرع؛
  • استخدام الجداء النقطي لمعرفة ما إذا كان العدو أمام البطل أم خلفه؛
  • قياس المسافة بين نقطتين دون جذر تربيعي لا حاجة إليه؛
  • تحويل المتجه إلى زاوية باستخدام atan2، وتحويل الزاوية إلى متجه؛
  • كتابة التكامل position += vitesse * dt وvitesse += acceleration * dt؛
  • شرح لماذا يغيّر ترتيب هذين السطرين النتيجة؛
  • المقارنة بين أويلر الصريح وأويلر شبه الضمني، واختيار الثاني عن دراية؛
  • تطبيق الجاذبية، وإيقاف السقوط عند الأرض، وإطلاق القفزة؛
  • تنفيذ القفزة المزدوجة والقفزة المتغيرة وcoyote time وjump buffering؛
  • إضافة الاحتكاك والتخميد وسرعة قصوى باستخدام clamp؛
  • ضبط تسارع الشخصية وتباطؤها للحصول على game feel جيد؛
  • جعل جسم ما يرتد باستخدام معامل الارتداد (restitution)؛
  • كتابة حركة دائرية واستيفاء خطي (lerp)؛
  • جعل الكاميرا أو الرفيق يتبع هدفًا بسلاسة؛
  • برمجة اهتزاز الشاشة وknockback؛
  • تجميع شخصية كاملة من زنزانة Dart تركض وتقفز وتهبط وتنزلق.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!