‫يا.
‫مرحبًا بعودتك.
‫الآن ، لقد أنشأنا بالفعل قاعدة - فئة C ++.
‫في هذا الفيديو ، سنشتق من تلك الفئة لإنشاء فئة فرعية جديدة تعتمد على القاعدة -.
‫لذلك دعونا نناقش سبب رغبتنا في القيام بمثل هذا الشيء.
‫إذن لدينا هذه القاعدة - الفئة ونعلم أنه سيكون لدينا فئتان مختلفتان مشتقتان من الأساس
‫-.
‫سيكون لدينا دبابة لدينا وسنمتلك البرج.
‫الآن ، القاعدة - تحتوي على شبكات ، كبسولة بالإضافة إلى نقطة تفرخ.
‫وهذه هي الأشياء التي يمكن أن يرثها كل من الخزان والبرج.
‫لكن الخزان والبرج سيكون لهما أيضًا بعض الوظائف التي تختلف عن بعضها البعض.
‫أولاً ، ستتحرك دبابتنا في جميع أنحاء العالم وسيتحكم فيها اللاعب
‫أيضًا.
‫لذلك يجب تهيئته لأخذ المدخلات من لوحة المفاتيح والماوس.
‫من ناحية أخرى ، سيجلس البرج هناك.
‫لا يحتاج إلى أي مدخلات من اللاعب حيث سيتم التحكم في جميع أفعاله عن طريق الكود.
‫لذلك نظرًا لأن الخزان والبرج سيتصرفان بشكل مختلف ، سنستخدم الميراث لإنشاء فئات
‫فرعية من القاعدة - حتى نتمكن من وراثة ما يشتركان فيه ثم نضيف إلى كل فئة تلك الميزات التي
‫ستكون مختلفة.
‫لذا عدنا هنا في المحرر وسأذهب إلى فصول C ++ ، مجلد Tune Tank حيث
‫لدينا قاعدتنا - فئة وهذا سيكون الفصل الذي نستمد منه.
‫الآن يمكننا النقر بزر الماوس الأيمن هنا وتحديد إنشاء فئة C ++ مشتقة من base -.
‫لذلك دعنا نختار ذلك وسأسمح له بإلصاق هذه الفئة في نفس مجلد الخزانات المائلة
‫المصدر مثل القاعدة -.
‫ومن أجل اسم هذا ، سأطلق عليه اسم دبابة.
‫لذا فإن فئة الخزان لدينا ستكون فئة الخزان الفعلي - الذي نتحكم فيه ونتحرك في جميع أنحاء
‫العالم.
‫لننقر على إنشاء فصل دراسي.
‫حسنًا ، لقد قمنا بتجميع وفتح رمز vs مع ملف الخزان الجديد لدينا ولدينا أيضًا Tank CP.
‫الآن هذه عارية جدا.
‫لا يوجد شيء هنا حقًا ، ولكن على الرغم من أننا لا نستطيع رؤيتهم ، فقد ورثنا بعض الأشياء من
‫الطبقة الأساسية.
‫لدينا بالفعل تلك المكونات التي أضفناها إلى القاعدة -.
‫على الرغم من أن هذه متغيرات خاصة ، إلا أنها لا تزال موجودة في هذه الفئة.
‫والآن بعد أن أنشأنا فصل الدبابات الخاص بنا ، فلنتحدث عن أمرين.
‫سيحتاج الخزان إلى عدم وجود برج.
‫حسنًا ، نظرًا لأننا سنتحكم في الخزان ، فسنحتاج إلى طريقة للتركيز على الخزان أثناء دورانه
‫في جميع أنحاء المستوى.
‫الآن ، في هذه الصورة ، هذا هو مكون الكاميرا.
‫إنها فئة C ++ هي مكون الكاميرا.
‫وهذا الخط الأحمر هنا يسمى مكون ذراع الزنبرك وفئته C ++ هي مكون ذراع الزنبرك.
‫إضافة هذه المكونات إلى a - يسمح لنا بمشاهدة - من وجهة نظر الكاميرا.
‫وإذا تم توصيل الكاميرا وذراعها الزنبركي بـ - بطريقة ما ، فسوف يتبعون - في جميع أنحاء
‫العالم.
‫الآن ، مرة أخرى هنا في المحرر ، إذا عدنا إلى مجلد - الخاص بنا وفتحنا BP - tank ، فيمكننا النقر فوق
‫منفذ العرض حتى نتمكن من رؤية كل شيء.
‫وبعد ذلك يمكننا تحديد مركب الكبسولة والنقر فوق إضافة وتحديد ذراع الربيع.
‫هذا هو مكون ذراع الربيع.
‫يبدو كخط أحمر.
‫الآن مع اختيار مكون ذراع الزنبرك ، يمكننا إضافة مكون آخر واختيار الكاميرا.
‫الآن ، بمجرد أن نضيف الكاميرا المتصلة بذراع الزنبرك ، أصبح لدينا الآن طريقة للرؤية من
‫وجهة نظر الكاميرا بمجرد أن نبدأ بالفعل في التحكم في -.
‫الآن الذراع الربيعية مفيدة جدًا.
‫يمتلك طول الذراع المستهدف هذا ، وإذا قمت بتعديله ، فسترى أن الكاميرا تتكيف مع ذراع الزنبرك.
‫لذا فهذه طريقة للتحكم في بُعد الكاميرا عن -.
‫هذه بالتأكيد أشياء نريدها في صفنا ، لكننا سنضيفها من جانب
‫C ++ بدلاً من مجرد إضافتها هنا في المخطط.
‫لذلك سأقوم بحذفها.
‫لذا بالنسبة للتحدي الخاص بك ، أود منك إضافة بعض الأشياء إلى فئة الدبابات.
‫أولاً ، نحتاج إلى مكون ذراع زنبركي ومكون كاميرا ، لذا قم بإنشاء هذه المتغيرات وجعلها
‫مؤشرات.
‫انطلق وأنشئ قسمًا عامًا وآخر خاصًا وضع هذه المتغيرات في القسم الخاص.
‫سنحتاج الآن إلى أن تكون هذه خصائص U ، لذا امنحهم وحدات ماكرو الخاصية واملأ وحدات الماكرو هذه
‫بالمحددات المناسبة بناءً على ما تعلمته في المحاضرات السابقة.
‫الآن ، بمجرد إنشاء هذه المتغيرات ، قم بإنشاء مُنشئ ووضعه في القسم
‫العام وحدده في ملف CP ، ثم داخل المُنشئ ، قم ببناء الكاميرا ومكونات ذراع الزنبرك باستخدام
‫إنشاء كائن فرعي افتراضي.
‫تأكد من استخدام مرفق الإعداد لإرفاق هذه المكونات بشيء ما.
‫نود أن يكون مكون ذراع الزنبرك مرتبطًا بمكون الجذر.
‫لذا استخدم مكون الجذر وقم بتعيين مرفق الإعداد وللكاميرا ، قم بتوصيله بذراع الزنبرك.
‫يمكنك الرجوع إلى الفئة الأساسية.
‫أ ذكِّر نفسك بالشكل الذي يبدو عليه الرمز عند القيام بهذه الأشياء.
‫انطلق وأوقف الفيديو وأضف هذه الأشياء إلى فئة الدبابات.
‫حسنا.
‫لذلك نحن هنا في تانك.
‫الآن ، أول الأشياء أولاً.
‫أود أن يكون لدي قسم عام وقسم خاص.
‫إذن ، سيكون القسم الخاص هو المكان الذي نضيف فيه هذين المكونين الجديدين.
‫سنرغب في مكون ذراع الزنبرك U ، والذي سيكون مؤشرًا ، ويمكننا تسمية ذراع الزنبرك
‫هذا.
‫وسنحتاج أيضًا إلى مكون كاميرا جديد وسنسمي هذه الكاميرا.
‫حسنا.
‫إذا كانت أسماءك مختلفة قليلاً.
‫الآن ، فورًا ، أرى أخطاء IntelliSense هنا ، مما يعني أنني سأحتاج إلى إعادة توجيه
‫إعلان هذه الأخطاء.
‫لذلك سأستخدم الفصل بذراع الربيع والصف مع الكاميرا.
‫والآن يتم الإعلان عن هذه إلى الأمام.
‫الآن نحن بحاجة إلى خصائصنا الجديدة.
‫لذلك دعونا نضيف وحدات ماكرو الخاصية الجديدة.
‫وداخل ماكرو الخاصية ، سنرغب في الحصول على بعض المحددات.
‫ستكون هذه مرئية في أي مكان حيث رأينا أن المكونات يجب أن تكون مرئية في أي مكان لنا حتى
‫نتمكن من ضبط معلماتها في لوحة التفاصيل.
‫الآن ، لا أرى أي حاجة فورية للتعرض للرسم البياني للحدث ، لذلك لا أعتقد أننا بحاجة إلى قراءة مخطط
‫أو كتابة أو مخطط للقراءة فقط.
‫حسنا.
‫إذا قمت بإضافتهم ، فسوف أتركهم بالخارج الآن.
‫سأقوم بإعطاء هذه فئة.
‫وبما أن هذه مكونات ، سأقوم بإلصاقها في فئة المكونات لدينا مع المكونات
‫الأخرى.
‫الآن أنا لا أعرضها على الرسم البياني للأحداث ، لذلك لست بحاجة إلى السماح بالوصول الخاص المحدد
‫هنا.
‫لذلك هذا يكفي لذراع الزنبرك وأود أن أعطي مكون الكاميرا نفس خاصية لك.
‫لذلك أنا أقوم بنسخها.
‫إذن لدينا الآن مكوناتنا.
‫الشيء التالي الذي يجب القيام به هو إنشاءها في المُنشئ ، مما يعني أننا بحاجة إلى مُنشئ.
‫الآن سيكون المُنشئ هو نفس اسم الفئة ، لذا فهو خزان ونحتاج إلى تعريف المُنشئ
‫في ملف CP.
‫لذلك دعنا نذهب إلى Tank CP وننشئ خزانًا.
‫لذلك هناك جسم وظيفي ويجب أن يُسبق مُنشئ الخزان باسم الفئة ومشغل تحليل
‫النطاق.
‫هذه نقطتان مزدوجتان هنا.
‫بهذه الطريقة ، لا نقوم فقط بإنشاء وظيفة جديدة ، بل نحدد المُنشئ الخاص بنا لهذه الفئة.
‫الآن نرغب في بناء هذه المكونات.
‫لذلك لنبدأ بذراع الزنبرك.
‫لذلك سنقول إن ذراع الزنبرك يساوي إنشاء كائن فرعي افتراضي وسيكون هذا مكون ذراع زنبركي.
‫وبالنسبة للنص ، سأسمي ببساطة ذراع الربيع هذا.
‫وبالنسبة للمرفق ، سنقوم بتثبيت ذراع الزنبرك ، وإعداد المرفق ، وتمرير مكون الجذر.
‫حاليا.
‫كنت أنتظر ذلك.
‫ذلك هو.
‫خطأ IntelliSense يقول أن المؤشر إلى نوع فئة غير مكتمل استخدم مكون ذراع الزنبرك.
‫هذا لأننا نحتاج إلى تضمين ملف الرأس نظرًا لأننا نقوم بإنشاء واستخدام مكون Spring arm.
‫إذن ، ها هي وثائق المحرك غير الواقعية ، وإذا قمت بالتمرير لأسفل ، فهناك التضمين الخاص بي.
‫لذلك سأقوم بنسخ ذلك ولصقه هنا في الأعلى ، أسفل حافة الخزان مباشرة.
‫الآن ، مجرد ملاحظة جانبية بشكل عام ، ستحتفظ بملف رأس الفصل الخاص بك مضمنًا في
‫الأعلى ويتضمن للمكونات الخاصة بك أسفل ذلك.
‫لذلك لدينا ذراع الربيع.
‫حان الوقت لبناء الكاميرا.
‫لذلك سنقول أن الكاميرا تنشئ كائنًا فرعيًا افتراضيًا ، مكون الكاميرا.
‫وفي ماكرو النص ، سأسمي هذه الكاميرا ببساطة.
‫وبالنسبة للكاميرا ، سأقوم باستدعاء مرفق الإعداد الذي يمر في ذراع الربيع.
‫وبالطبع أحتاج إلى ملف رأس الكاميرا.
‫إذن ها هي وثائق المحرك غير الواقعية وهنا حيث تقول وثائق البحث
‫، سأكتب لك مكون الكاميرا وهنا أراك مكون الكاميرا.
‫سأختار ذلك.
‫وإليك توثيق مكون الكاميرا.
‫لذلك سأقوم بنسخه لتضمينه ولصقه هنا أعلى ملفنا.
‫والآن يجب أن نكون جيدين.
‫حسنًا ، دعنا نمضي قدمًا ونجمع هذا.
‫تمام.
‫لذلك لدي تجميع ناجح.
‫دعنا نعود إلى المحرر وهنا - تانك.
‫بالطبع ، لا نرى أي شيء لأن - الخزان مشتق من القاعدة - والمكونات التي أضفناها
‫للتو ، أضفناها إلى فئة الخزان.
‫لذا فإن BP - tank لن تحصل على تلك لأنها ليست مشتقة من فئة الخزان.
‫الآن يمكننا أن نذهب وننشئ مخططًا جديدًا بناءً على فئة الخزان ، ولكن بعد ذلك سيتعين علينا
‫إعداد هذه المكونات مرة أخرى.
‫ولا أشعر حقًا برغبة في القيام بكل هذا العمل مرة ثانية.
‫هناك طريقة أسهل يمكننا من خلالها إصلاح هذا المخطط لفئة الخزان.
‫نقوم بذلك من خلال الانتقال إلى إعدادات الفصل وفي لوحة التفاصيل مع تحديد إعدادات الفصل
‫، نرى خيارات الفصل وهناك هذا الفصل الرئيسي.
‫توضح القائمة المنسدلة أنه تم ضبطها على أساس ، ولكن إذا نقرنا عليها ، فيمكننا البحث عن الخزان
‫واختيار الخزان كفئة أساسية.
‫والآن هذا المخطط مشتق من فئة الخزان.
‫لذلك نرى أن كل تلك الخصائص التي حددناها بمكوناتنا مثل الشبكة وحجم الكبسولة ، كلها
‫لا تزال موجودة.
‫الآن فقط نرى كاميرا.
‫في الواقع ، لدينا ذراع نابض وكاميرا.
‫وإذا اخترنا ذراع الزنبرك الآن ، فيمكننا رؤية هذا الخط الأحمر.
‫لذلك هذا شيء عظيم.
‫لذلك يمكنني أخذ مكون الذراع الزنبركي هذا وتغيير طول الذراع المستهدف.
‫إذا أردت ، يمكنني ضبطه على شيء مثل 600 ويمكنني حتى تغيير دورانه بحيث يكون زاوية الكاميرا
‫لأسفل في الخزان عن طريق تحديد وضع الدوران وتدويره لأعلى قليلاً.
‫مثل الآن أود أن أشير إلى أنه لا يجب عليك تغيير موقع الكاميرا.
‫قد يكون من المغري تحديد الكاميرا وتحريكها في جميع أنحاء العالم بحيث تضعها وتضعها في الزاوية
‫الصحيحة تمامًا.
‫لكن هذه ليست الطريقة الصحيحة للقيام بذلك.
‫الطريقة الصحيحة هي ضبط الدوران وطول الذراع المستهدف لمكون ذراع الزنبرك.
‫والسبب أنك تريد تلك الكاميرا متصلة بنهاية ذراع الزنبرك.
‫يحتوي ذراع الزنبرك على الكثير من الميزات المدمجة المختلفة مثل الانكماش عندما تصطدم
‫الكاميرا بالحائط لتجنب العوائق ، وحجب الرؤية عن البركة وأشياء أخرى من هذا القبيل.
‫لذلك سترغب في توصيل هذه الكاميرا بنهاية ذراع الزنبرك ثم ضبط الذراع
‫الزنبركي بدلاً من ضبط موضع الكاميرا ودورانها.
‫في هذا الفيديو ، أنشأنا فئة الخزان واشتقناها من بركة القاعدة لنرث تلك الصفات من فئة
‫البركة الأساسية.
‫أضفنا مكون ذراع زنبركي ومكون كاميرا وعرّضناهم للمحرر باستخدام مرئية فقط ووضعناهم
‫في فئتهم الخاصة.
‫لذلك نحن نقترب من المنتج النهائي خطوة بخطوة ، وسنواصل تطوير هذا الخزان في المحاضرة
‫التالية.
‫سأراك قريبا.