‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنقوم بإعادة هيكلة مشغل السحب الخاص بنا حتى يكون جاهزًا لإضافة المزيد من التعليمات البرمجية
‫إليه.
‫في الوقت الحالي ، كان الأمر يخرج عن نطاق السيطرة حقًا ، لذلك سنقوم بإعادة
‫بنائه إلى وظيفة صغيرة مثل هذه والتي تكون أكثر سهولة في القراءة.
‫دعونا نتعمق ونرى كيف نفعل هذا إعادة البناء.
‫تمام.
‫لذلك نريد أن نضع بعض الصوت في لعبتنا والمكان الذي سنقوم به هو في البندقية عندما نطلق
‫النار.
‫هذا هو أول منفذ اتصال.
‫أعتقد أن نوعًا لطيفًا من صوت اللقطة وصوت التأثير سيكونان رائعين.
‫المشكلة الوحيدة هي عندما عدت إلى وظيفة الزناد ، لاحظت أنها أصبحت كبيرة بشكل غريب.
‫لا يتناسب مع إحدى شاشاتي.
‫من الصعب أيضًا قراءة وفهم المكان الذي سنضع فيه هذه الوظيفة.
‫لذا بينما نبذل الجهد لفهم الوظيفة الموجودة هنا ، ربما يكون الأمر يستحق
‫القيام بإعادة بناء سريع أو سحب بعض هذه الأشياء إلى طرق أخرى بحيث لا يصعب قراءتها.
‫الآن ، إذا ذهبت وألقيت نظرة على هذا الكود وحاولت معرفة الأشياء الأساسية
‫التي يقوم بها ، فسترى أن جزءًا كبيرًا من هذا تم إعداده بالفعل لخطنا.
‫تتبع هذا الجزء كله من السطر 28 نزولاً إلى 43.
‫وماذا نفعل؟
‫حسنًا ، نحصل على بيدق المالك ، ثم نتحقق من الحصول على وحدة تحكم المالك ، ثم نحصل على
‫منفذ العرض من ذلك ، ثم نحصل على الموقع النهائي بناءً على النطاق الأقصى.
‫ثم نقوم بتمرير بعض معاملات الدخول لتجاهل الأشياء.
‫كل هذا معد للتو لتتبع الخط ، فلماذا لا نستخرج ذلك في وظيفته الخاصة هنا؟
‫سأقوم بإنشاء وظيفة خاصة جديدة في الأسفل مباشرة.
‫بعد المتغيرات الخاصة بنا ، ستكون عودة منطقية لأننا نريد بشكل أساسي استبدال هذه المكالمة
‫هنا التي ترجع النجاح بمتغير يمنحنا نتيجة النتيجة أيضًا.
‫لذلك سنفعل هذا كشيء سأسميه وظيفة تتبع البندقية وسيكون لها بعض المعلمات
‫هنا.
‫وبالتحديد ، سيكون أحدهم هو النتيجة الناجحة.
‫لذلك اضغط على النتيجة ، علامة العطف لجعلها مرجعا.
‫ولأنه ليس مرجعًا ثابتًا ، فنحن نعلم أنه معلمة خارجية.
‫نسمي هذا الضربة.
‫وفي الواقع ، قد يكون هناك عنصر آخر نحتاجه هنا.
‫وبالتحديد ، أستطيع أن أرى أننا حصلنا على الدوران يخرج من هذا الجزء من الكود وفي الحقيقة الفعلية نحن نرفض
‫هذا الدوران.
‫إذن ما يهمنا حقًا هو اتجاه التسديد.
‫لذلك ربما هذا ما نحتاج إلى الذهاب إليه.
‫لذلك سأقوم بإنشاء معامل متجه F ، لذا فإن علامة العطف F المتجهة ستكون اتجاه
‫اللقطة.
‫هذان هما المخرجان اللذان سيأتيان من أثر السلاح.
‫الآن دعنا نمضي قدمًا وننشئ التنفيذ هنا.
‫وما نريد القيام به هو في الأساس مجرد نسخ كل هذا الرمز إلى هناك.
‫نرى كيف ستسير الامور.
‫ونريد أيضًا أن نتحقق من هذه اللقطة.
‫اتجاه.
‫خذ ذلك للخارج وألصقه قبل النهاية مباشرة.
‫أو ربما هنا بعد أن نحصل على إطار عرض لاعبنا ، يمكننا تحديد أن اتجاه التسديد يجب أن يكون
‫مساويًا للسالب ، الدوران.
‫لكن من المهم أن نلاحظ هنا أننا في الواقع نريد ألا نضبط متغيرًا محليًا.
‫لذا ، إذا وضعت الكتابة هنا ، فسيتم تحديد اتجاه تسديد محلي.
‫نريد حذف ذلك بحيث يتم تحديد اتجاه اللقطة في المعلمات ، مما يعني في الواقع أنه يحدد
‫اتجاه التسديد الذي سنقوم بتمريره في الوظيفة التي تستدعيها.
‫الشيء نفسه ينطبق على الضربة.
‫نحتاج إلى إزالة هذه الضربة المحلية بحيث تكون الضربة التي يتم تمريرها إلى تتبع خط واحد تلو الآخر هي الضربة التي
‫تم تمريرها إلى أثر البندقية.
‫ثم أخيرًا ، هل هناك أي شيء آخر لا حاجة إليه الآن وهذا هو النجاح أيضًا؟
‫حسنًا ، نحتاج فقط إلى إعادة نتيجة إشارة تتبع الخط حسب القناة.
‫سيكون هذا سواء نجح تتبع سلاحنا أم لا.
‫لذلك نجحنا في جعل هذه المسافة البادئة أقل قليلاً.
‫يمكننا وضع كل ذلك على شاشة واحدة الآن ، ومن الأسهل قليلاً فهم أن
‫، نعم ، كل هذا مرتبط بالحصول على أثر سلاح.
‫يمكننا الصعود إلى مسدساتنا CP ويمكننا الآن ضبط نجاح B هنا.
‫لذا ، فإن النجاح المنطقي B ، سنحتاج إلى تحديد مسار السلاح ونحتاج إلى تمرير بعض المعلمات هنا.
‫لذلك ما زلنا بحاجة إلى إعلان تلك النتائج في مكان ما إذا تم الوصول إليها.
‫ستكون واحدة منهم.
‫أنا ذاهب فقط للاتصال ضرب.
‫والآخر سيكون متجهًا F يسمى اتجاه اللقطة.
‫وسوف يتم تمريرها.
‫لذلك سنحصل على الضربة أولاً ، ثم اتجاه التسديد.
‫ثم فاصلة منقوطة في النهاية هناك.
‫لذلك هذا سيجعل ذلك أسهل قليلاً.
‫ومع ذلك ، ألاحظ أننا نحتاج أيضًا إلى وحدة تحكم المالك ولا أريد أن يكون تتبع البندقية مسؤولاً
‫عن وحدة تحكم المالك أو نسيان وحدة تحكم المالك.
‫هذا لا يبدو أنه مسؤولية تتبع السلاح للقيام بذلك.
‫يبدو أنه من الجيد أن تحصل على ضربة.
‫يبدو أنه من الجيد أن تحصل على اتجاه تسديده.
‫لكنني سأرسم الخط في الحصول على وحدة تحكم المالك.
‫لذلك ، سأضعها ، وأضع كل هذه الشفرة في وظيفة أخرى يمكن لكل منهما الاتصال
‫بها.
‫لذلك ستكون هذه وظيفة تعيد وحدة تحكم.
‫نجمة.
‫وسنسميها وحدة التحكم ويمكننا أن نجعلها حفلة موسيقية.
‫كما نعلم ، ليس المقصود تغيير أي من المتغيرات في فئة البندقية الخاصة بنا.
‫لنقم بإنشاء هذا التنفيذ.
‫ما عليك سوى إحضار التنفيذ من تتبع البندقية ، وإصلاح أي مسافة بادئة إذا لزم الأمر ، وسنمضي
‫قدمًا ونعيد تحكم المالك ببساطة.
‫لذلك ليست هناك حاجة لإجراء فحص فارغ هنا.
‫هذا الفحص الفارغ الذي نحتاج إلى القيام به في الوظيفة التي تستخدمها.
‫لذلك سنطرح ذلك هناك.
‫لا نحتاج أيضًا إلى تعيين متغير هنا.
‫يمكننا فقط المضي قدما والعودة.
‫لذلك سيكون الأمر بسيطًا إلى حد ما.
‫أحصل على وحدة تحكم ، لكن ليس تمامًا.
‫ثم نضع المتغير في أثر البندقية.
‫لذا ستحصل وحدة تحكم المالك على وحدة تحكم المالك مثل ذلك.
‫الذي نقوم به بعد ذلك بإرجاع فارغ إلى إرجاع مبكر مبكر في تتبع البندقية ، والذي بالمناسبة ، يحتاج إلى إرجاع
‫قيمة منطقية لأن تتبع البندقية يعيد قيمة منطقية.
‫لذا يمكننا المضي قدمًا وإرجاع القيمة كاذبة هنا لأنه إذا لم نتمكن من الحصول على وحدة تحكم مالك ، فلن نتمكن من تتبع
‫السلاح.
‫لذلك لا يمكننا ضرب أي شيء.
‫ثم نحتاج أيضًا إلى وحدة تحكم المالك هذه.
‫عندما يكون لدينا ممثلنا الناجح ، فإننا نفعل ذلك نلحق الضرر به.
‫وما نريد القيام به هنا هو الحصول على وحدة تحكم المالك هنا داخل الممثل الناجح.
‫لذلك إذا ضربنا ممثلًا ، فسنحصل على وحدة تحكم المالك مرة أخرى.
‫الآن ، أعلم أن هناك القليل من أجهزة تتبع الأسلحة النارية.
‫احصل على وحدة تحكم ثم سنفعلها مرة أخرى إذا ضربنا أحد الممثلين.
‫لكن هذا سيحدث فقط في كل مرة نواجه فيها ممثلًا.
‫لذلك لا مانع من إعادة حساب ذلك مرتين لأنه سيجعل الكود أكثر قابلية للقراءة قليلاً دون الحاجة
‫إلى تخزين المتغيرات والحالة التي يمكن أن تخرج عن المزامنة.
‫لذا ها أنت ذا.
‫لقد حصلنا الآن على وحدة تحكم المالك التي نحتاجها للتلف ، ويبدو مشغل السحب لدينا أفضل بكثير.
‫هذا كل شيء في هذه المحاضرة.
‫سريع.
‫مجرد إعادة هيكلة مشغل السحب لدينا حتى يكون لدينا قاعدة جيدة للعمل منها في المحاضرة التالية ، وسأراك
‫هناك.
‫أوه ، ويبدو أنني صنعت قليلاً من booboo هنا في وحدة تحكم المالك.
‫إذا حاولت تجميعها ، فلن تفعل شيئًا لأن هذه القيمة المرجعة لا تُرجع مؤشرًا في
‫الواقع.
‫لذلك نريد إرجاع المؤشر الفارغ في هذه الحالة على الفور.
‫في الأساس لا يمكننا الحصول على بيدق ، ثم لا يمكننا الحصول على وحدة تحكم.
‫لذلك نعيد المؤشر الفارغ.