‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنقوم بحساب المسافة التي قطعتها منصتنا من موقع
‫البداية وعرضها في المحرر لنا للتحقق منها وتصحيحها.
‫دعونا نتعمق ونرى كيف يتم ذلك.
‫لقد رأينا حاليًا أنه يمكننا تنفيذ الجزء الأول من الشفرة الكاذبة.
‫لقد كتبنا أن منصة MOVE تعمل الآن.
‫لذا فهي منصة الإرسال التي لم نقم بتغطيتها بعد.
‫ويمكنك أن ترى التعليق الأول هناك وهو التحقق من المسافة التي قطعناها.
‫إذن ، كيف نتحقق من المسافة التي قطعناها منذ بداية اللعب؟
‫حسنًا ، هناك مكونان لهذا.
‫أولًا ، علينا معرفة الفرق بين متجهين والمسافة بينهما.
‫والشيء الآخر الذي نحتاج إلى اكتشافه هو كيفية تتبع من أين بدأنا.
‫حسنًا ، الجزء الأول مباشر نسبيًا.
‫لحسن الحظ ، كل ما يتعين علينا القيام به هناك هو الانتقال إلى منصتنا المتحركة.
‫H ونريد إنشاء متغير جديد هنا ، لكن ليس متغيرًا معرضًا للمخططات.
‫لمرة واحدة ، هذا مجرد متغير لـ C ++ فقط ، لذلك لا نحتاج إلى وضع خاصية جديدة فوقها.
‫وسيكون متجهًا F يسمى موضع البداية أو الموقع لاستخدام نفس المصطلحات المستخدمة في
‫Unreal.
‫ولن نضع هذا على أي قيمة من الخفافيش لأنه لن يكون من المنطقي أن نبدأ الموقع.
‫لا نعرفه بعد ، لكننا سنعرفه في Begin Play.
‫لذلك هذا ما سنفعله.
‫سننتقل إلى C ++ ثم نبدأ اللعب بعد أن يبدأ الحساء في اللعب.
‫سنقوم بتعيين موقع البداية حتى نتمكن من تحديد موقع البدء.
‫وتذكر أننا لا نضع متجه f أمام هذا لأننا نحاول الإشارة إلى
‫متغير فئة بدلاً من إنشاء متغير محلي.
‫لذلك سنقوم بتعيين موقع البداية مساويًا لموقع الحصول على الممثل لأنه في بداية المسرحية
‫، يكون الممثل في البداية.
‫لذلك قمنا بتعيين موقع البداية وهذا يعني الآن أن لدينا متغيرًا يستمر طوال مثيل هذه الفئة ، لذا
‫يمكننا استخدامه مرة أخرى وتحديد العلامة أيضًا.
‫ولدينا متغير يمكننا تجربته وإيجاد المسافة بينه.
‫يمكننا أن نقول ، مرحبًا ، إلى أي مدى انحرف الموقع الحالي عن موقع البداية هذا؟
‫حسنًا ، لكي أكون قادرًا على القيام بذلك ، أحتاج إلى إضافة المزيد من بناء جملة C ++ إلى قاموس المصطلحات الخاص بنا.
‫أولاً ، سيُطلق عليه Scope Resolution Operator ، وهو اسم مُربك قليلاً ، لكنه في الواقع
‫عامل النقطتين المزدوج الذي رأيناه بالفعل في ملف C ++ الخاص بنا من قبل.
‫وكل ما يفعله بشكل أساسي هو أنه يسمح لك بالنظر داخل الفصل بنفس طريقة عامل التشغيل DOT
‫، ويسمح لك بالنظر داخل مثيل للفصل.
‫لذلك دعونا نلقي نظرة على هذا بمزيد من التفصيل.
‫نعلم أن وظيفة التجزئة تنتمي إلى فئة النظام الأساسي المتحركة ، ولكنها لا تنتمي إلى مثيل معين
‫من تلك الفئة.
‫تشترك جميع حالات النظام الأساسي المتحرك في نفس تنفيذ العلامة ، وهو ما يعنيه أن تكون
‫فئة.
‫لذا فإن عامل تحليل النطاق هنا بين المنصة المتحركة و Tick يخبرنا في الواقع أن هذه هي العلامة
‫التي تنتمي إلى فئة المنصة المتحركة.
‫بالطريقة نفسها التي استخدمنا بها سابقًا عامل التشغيل النقطي للحصول على x الذي يشير إلى الموقع
‫الحالي.
‫كان الموقع الحالي مثالًا معينًا لمتجه F ، ولكن يمكننا استخدام هذا للحصول على الوظائف
‫التي تنتمي إلى فئة المتجه F ولا تعمل على مثيل معين من تلك الفئة.
‫إذن ، أحد الأمثلة هو الحصول على المسافة بين متجهين.
‫الطريقة التي نقوم بها في Unreal هي استخدام دالة موجودة في فئة المتجه F.
‫لذلك سنقوم بعمل متجه f ، ثم القولون القولون للنظر داخل تلك الفئة في الوظائف المتاحة لنا ويمكننا
‫أن ننظر من خلالها.
‫والآن ألفت انتباهكم إلى الإكمال التلقائي الذي ظهر في هذه المرحلة.
‫لم أذكرها في الماضي ، ولكن عندما نقوم بهذه العمليات ، فهي في الواقع
‫تحاول أن تكون ذكية وتخبرنا ما هي الوظائف المتاحة داخل فئة المتجه F تلك.
‫ويمكنك أن ترى أن هناك القليل منهم.
‫الذي نبحث عنه يسمى Dist Short للمسافة.
‫ستلاحظ الآن أيضًا أن هناك واحدة تسمى بالفعل مسافة وهذا في الواقع مرادف.
‫يمكننا استخدام أي منهما ، لكنني سأستخدم الأقصر لإبقاء الكود أكثر
‫إيجازًا ويمكننا فتح الأقواس.
‫ومرة أخرى ، يساعد الإكمال التلقائي في مساعدتنا في أنه يخبرنا بما يتعامل معه كحجج.
‫يمكننا أن نرى أن الحجة الأولى هي متجه f ثلاثة D والثانية لها تأثير مؤثر على ثلاثة
‫D أيضًا.
‫لذا فإن حقيقة أنه يسمى التأثير ثلاثة د هنا غريب بعض الشيء ، لكنه يطلب بشكل أساسي
‫متجه f.
‫إذاً ، إذا مررت في وسيطتين ، كلاهما متجه ، فسوف أخبرك أن القيمة المرجعة الخاصة
‫بي هنا على الجانب الأيسر ستكون مضاعفة.
‫الآن المزدوج هو في الأساس مجرد تعويم أكثر دقة.
‫لذلك يمكننا القول بشكل أساسي.
‫هذا عوامة قادمة من هنا.
‫التعبير الذي أنشأناه ينشئ عددًا عشريًا.
‫رائع.
‫إذن ما سنفعله هو أننا سنحاول إيجاد المسافة بين موقع البداية.
‫لذلك سنكتب موقع البدء باعتباره الوسيطة الأولى.
‫ثم الثاني سيكون الموقع الحالي.
‫الآن ، لا تقلق ، في هذه المرحلة ، لا يهم في الواقع الطريقة التي نضع بها هذه الجولة
‫لأن المسافة بين متجهين ستكون واحدة.
‫سواء بدأت من أ إلى ب أو ب إلى أ ، فستظل دائمًا على نفس المسافة.
‫لذلك كان بإمكاننا وضع هذه في كلتا الحالتين ، إذا كنت ترغب في ذلك.
‫إذن لدينا الآن مقدار يعيد عددًا عشريًا.
‫لذا أود أن أتحداك لتحديث خاصية جديدة باستخدام هذا التعبير حتى نتمكن من
‫معرفة قيمتها.
‫لذا ، قم بإنشاء خاصية تعويم جديدة لك وقم بتسميتها ما تريد ، ثم قم بتحديث كل
‫علامة بقيمة f vector dist ثم قم بتشغيل اللعبة وشاهد ما سيحدث.
‫هل تحصل على المخرجات التي تتوقعها؟
‫هل تزداد بالسرعة التي تتوقعها؟
‫أوقف الفيديو واذهب.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك سننشئ ، أولاً وقبل كل شيء ، الخاصية الجديدة.
‫لذلك سأضع هذا فوق موقع البداية حتى نجمع كل الخصائص معًا.
‫سنقوم بتعديل خاصية جديدة في أي مكان ، حقيقة أننا لسنا بحاجة إلى أن نكون قادرين على تعديل هذا.
‫لذلك ربما تخيلت أن التعديل في أي مكان يعني أنه يمكنك تحريره.
‫حسنًا ، لدينا أيضًا مظهر مرئي في أي مكان لا يسمح لنا بتعديله ولكنه يسمح لنا برؤيته.
‫لذلك هذا ما سأستخدمه.
‫بدلاً من ذلك ، سأترك التصنيف هنا من أجل التبسيط لأننا نستخدم هذا
‫المتغير فقط لنكون قادرين على رؤية ما يحدث.
‫سيكون نوعًا عائمًا ، كما ذكرت ، وسأسمي هذا المسافة التي تم تحريكها بحيث يكون
‫من الواضح ما ننظر إليه في المفتش.
‫وسأقوم بتعيين الإعداد الافتراضي الخاص به على ناقص واحد فقط حتى نعرف أننا قمنا بتحديثه.
‫إذا كان يقول ناقص واحد ، فنحن نعلم أن التحديث لم يمر.
‫لذلك سأقوم بتحريك هذه المسافة.
‫سننتقل إلى التنفيذ ونقوم بتحديد المسافة التي تم تحريكها تساوي F متجه
‫القولون مسافة القولون.
‫لذا باستخدام عامل دقة النطاق هذا للحصول على وظيفة المسافة ثم إنهاء السطر
‫بفاصلة منقوطة.
‫حسنا.
‫لذلك سنمضي قدمًا في Unreal ونضغط على زر الترجمة ويمكننا المضي قدمًا وإغلاق المحطة.
‫ويجب أن نرى هذه المسافة تتحرك ، وتظهر في صورة ناقص واحد.
‫يمكنك رؤيته باللون الرمادي لأنني لا أستطيع تحريره لأنه مرئي ، وليس التعديل في أي مكان.
‫لذلك دعنا نمضي قدمًا ونضرب التشغيل وسيتعين علينا التأكد من اختيار النظام الأساسي المتحرك
‫في المخطط التفصيلي ويمكننا إلقاء نظرة على المسافة المنقولة هنا ويمكنك أن
‫ترى أن العقار يتحرك بسرعة عند حوالي 1 إلى 300 في الثانية.
‫لذا فهي تسير بالسرعة التي أتوقعها ، وهي 100 في الثانية.
‫لذلك يبدو وكأنه نجاح.
‫تمكنا من حساب المسافة المقطوعة وكذلك تصورها.
‫أشياء عظيمة.
‫سأراك في المحاضرة القادمة.