0%
الكاميرا والعالم والمستويات — الفصل 25

الفصل 25 — الكاميرا والعالم والمستويات

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

الفصل 25 — الكاميرا والعالم والمستويات

المستوى: متوسط المدة المقدّرة: 8 ساعات المتطلبات المسبقة: الفصل 24 — التصادمات ومربعات الاصطدام (AABB، الحل، hitbox مقابل sprite) ما ستتمكن من فعله في النهاية: بناء عالم أكبر بكثير من الشاشة، وكتابة كاميرا خاصة تتبع اللاعب بسلاسة، ورسم خلفية بتأثير البارالاكس، وتحميل مستوى من tilemap أو من ملف JSON، وربط عدة غرف في زنزانة واحدة.


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

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

  • شرح السبب الذي يجعل عالم اللعبة يتجاوز حجم الشاشة في معظم الأحيان؛
  • التمييز بلا تردد بين إحداثيات العالم وإحداثيات الشاشة؛
  • كتابة صيغة التحويل من العالم إلى الشاشة وتطبيقها يدويًا؛
  • كتابة الصيغة العكسية من الشاشة إلى العالم واستخدامها لتفسير نقرة؛
  • تصميم صنف Camera خاص بك دون أي مكتبة خارجية؛
  • تحريك المشهد كله باستخدام canvas.translate() محاطًا بـ save() / restore()؛
  • توسيط الكاميرا على اللاعب؛
  • التعرّف على التتبّع الفجّ وشرح سبب إرهاقه للعين؛
  • تنعيم التتبّع بالاستيفاء الخطي (lerp، الذي رأيناه في الفصل 23)؛
  • تنفيذ منطقة ميتة حتى لا تتحرك الكاميرا عند أدنى خطوة؛
  • إضافة look-ahead يُظهر ما يقترب أمام اللاعب؛
  • حصر الكاميرا ضمن حدود المستوى باستخدام clamp؛
  • تطبيق معامل تكبير (zoom) وتصحيح صيغتَي التحويل؛
  • إطلاق اهتزاز للكاميرا عند الاصطدام، مع التخميد؛
  • ممارسة culling: أي رسم ما هو مرئي فقط؛
  • شرح تأثير البارالاكس وربطه بإدراك العمق؛
  • تنفيذ خلفية من عدة طبقات تتحرك بسرعات مختلفة؛
  • تعريف tilemap وبلاطة (tile) وحجم البلاطة؛
  • تمثيل مستوى باستخدام List<List<int>> (تذكير بالفصل 06)؛
  • رسم tilemap ورسم الجزء المرئي منها فقط؛
  • تحويل موضع في العالم إلى فهارس بلاطات، والعكس؛
  • جعل اللاعب يصطدم بـ tilemap، محورًا بعد محور (تذكير بالفصل 24)؛
  • كتابة مستوى مقروء على شكل List<String>؛
  • تحميل مستوى من JSON (تذكير بالفصل 17)؛
  • وضع كائنات المستوى: نقطة الظهور، والأبواب، والصناديق، والأعداء؛
  • فهم ما هو محرر Tiled وكيف يبدو ملف .tmx؛
  • ربط عدة مستويات وإدارة الانتقال بينها؛
  • تجميع زنزانة من عدة غرف مع الكاميرا والبارالاكس وtilemap.

التعليقات

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

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

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