‫أهلا ومرحبا.
‫في هذه المحاضرة ، سنضيف متغيرات إلى ممثل النظام الأساسي المتحرك لدينا حتى نتمكن
‫من رؤيتها في المحرر وسنقوم بذلك بالكامل في C ++.
‫دعنا نتعمق.
‫لذا فإن المفهوم الأول الذي سنتعلمه في C ++ هو كيفية إنشاء المتغيرات.
‫لقد رأيناهم من قبل في مخطط.
‫نحن نعلم أنها مثل الصناديق التي يمكننا وضع القيم فيها وأن لها أنواعًا.
‫حسنًا ، كل ذلك لا يزال ينطبق في C ++ ، باستثناء كيفية إنشائها.
‫لذلك في السابق ، عندما فعلنا ذلك في مخطط Blueprint ، إذا ذهبت وفتحت مخططًا للمستوى فقط
‫لإظهاره لك وتحديث ذاكرتك ، فقد حصلنا على هذا ، جزء المخطط الخاص بي ، وكان هذا هو المكان الذي أضفنا
‫فيه أشياء مثل الوظائف والمتغيرات وهكذا على.
‫ثم كان لدينا الرسم البياني للحدث حيث نقوم بالفعل ببرمجة الأشياء فيه.
‫الآن C ++ متشابهة جدًا.
‫لدينا موقعان مختلفان للقيام بتكوين المتغيرات والوظائف الخاصة بنا ثم عندما
‫نقوم بالفعل بالتنفيذ.
‫لذلك دعنا ننتقل إلى التعليمات البرمجية لـ Visual Studio ونفتح مشروع Visual Studio Code ونلقي نظرة.
‫يوجد في الشريط الأيسر علامة تبويب Explorer.
‫اذهب وافتح ذلك ويمكنك أن ترى بشكل أساسي خريطة هرمية لملفاتك.
‫إذاً لدينا المستوى الخامس الأعلى و Obstacle Assault أو مشروعنا الخاص هنا ، يمكنك فتح ذلك ويمكنك
‫رؤية بعض المجلدات هنا.
‫الملف الذي نهتم به هو المجلد المصدر ، حيث يمكننا العثور على جميع C ++ الخاصة بنا.
‫ثم هناك مجلد هجوم العوائق ثم هناك ملفان باسم النظام الأساسي المتحرك.
‫أحدهما عبارة عن ملف نقطي والآخر في DOT CP ، يرمز DOT إلى Header و CP وهو يرمز إلى C ++.
‫إذن ، هذا يشبه إلى حد ما وجود المخططات الخاصة بي حيث يمكنك إضافة الوظائف والمتغيرات والأشياء الموجودة
‫في ملف الرأس ، ملف FF ، ثم لدينا النقطة CP حيث يمكننا في الواقع أن نحب الرسم البياني
‫للحدث ، يمكننا في الواقع عمل الترميز نفسه.
‫لذلك سنقوم بفتح المنصة المتحركة.
‫H لأننا نريد إضافة متغير جديد وستلاحظ وجود مجموعة كاملة من العناصر هنا.
‫لن ندخل في تفاصيل هذا ، ولكن الأمر الأكثر إثارة للاهتمام هو أنه يحدد ما
‫يعنيه أن تكون فئة منصة متحركة.
‫يمكنك رؤية بضع كلمات رئيسية هنا مثيرة للاهتمام.
‫هناك كلمة أساسية للفصل في السطر العاشر.
‫هناك منصات متحركة مسبوقة بحرف A ، مما يعني أنه ممثل ، ثم هناك بعض
‫الأقواس المتعرجة في السطر 11 و 26.
‫وبين هذه الأقواس المتعرجة المتطابقة ، يمكنك أن ترى أن هناك إعلانًا عن بعض الأشياء.
‫توجد وظائف هنا وهنا يمكننا أيضًا وضع متغيراتنا.
‫إذن سنضيف المتغيرات في نهاية هذا التصريح.
‫لذا قبل أن نغلق هذا القوس المتعرج ، يمكننا إضافة بعض الأسطر الجديدة والبدء في كتابة المتغيرات الجديدة
‫هنا.
‫ومثلما هو الحال في المتغير في المخطط ، لدينا نوع ولدينا اسم متغير ويمكننا أيضًا
‫إعطائه قيمة افتراضية.
‫لذا فإن أول شيء هو أننا ربما نريد إنشاء عدد صحيح وفي C ++ ، في Unreal C ++ ، يتم الإشارة إلى عدد صحيح بالكلمة
‫الأساسية INT 32 تخبرنا أساسًا عن حجم القيمة التي يمكننا تخزينها هنا.
‫ولا ، ليس 32.
‫إنه أكبر بكثير من ذلك بكثير.
‫32 هو عدد البتات المخصصة لعدد صحيح.
‫الآن علينا البحث عن اسم متغير ومثل الفئات ، لا يمكن أن يكون لدينا مسافات في أسماء المتغيرات الخاصة
‫بنا.
‫لذلك ، بدلاً من ذلك ، نستخدم الأحرف الكبيرة للإشارة إلى كلماتنا.
‫لذلك سأسميها ملاحظة int الخاصة بي.
‫أنا أستغل كلتا بدايات هذه الكلمات بالأحرف الكبيرة.
‫بعد ذلك يمكنني إعطائها قيمة افتراضية ونفعل ذلك بعلامة يساوي حتى يكون لدينا يساوي ، ومن ثم
‫يمكننا إعطائها قيمة مثل 99 ، على سبيل المثال.
‫لاحظ الآن أنني أضع مسافات بعد علامة التساوي الخاصة بي وقبل علامة التساوي.
‫هذا ليس ضروريًا تمامًا في الواقع ، ولكنه يجعل القراءة أسهل وأجمل.
‫لذلك أقوم بتضمين ذلك.
‫الآن من الواضح أنك بحاجة إلى مسافة بين 32 والاسم الفعلي للعدد الصحيح.
‫بدون ذلك ، لا تعمل الأشياء.
‫ثم لإنهاء هذا الإعلان ، تحتاج إلى وضع فاصلة منقوطة في نهاية السطر
‫لإخبار C ++ أنك قد انتهيت.
‫حقيقة وجود أسطر جديدة ووجود مسافات وعلامات تبويب ، كل هذا لا يهم في الواقع
‫لـ C ++.
‫يمكنك تشغيل كل هذه الأشياء معًا وسيظل هذا هو نفسه.
‫يمكنني إزالة المساحات هنا التي لا تزال تعمل بشكل جيد.
‫بقدر ما يتعلق الأمر بـ C ++ ، فإن هذا كله صالح تمامًا لـ C ++.
‫إنه أمر مروع حقًا ، ومن المروع أن تقرأه.
‫إذن ما نفعله هو الحفاظ على هذا المستوى من المسافة البادئة بعلامة تبويب ونحافظ على هذا المستوى من التباعد
‫أيضًا من أجل سلامة عقلنا.
‫الآن هذا غير مرئي حاليًا في محرر المخطط.
‫لجعله مرئيًا ، نحتاج إلى إعطاء القليل من الرؤوس لـ Unreal أن هناك متغيرًا يجب
‫أن يعرضه.
‫الطريقة التي نفعل بها ذلك هي في السطر السابق نكتب لك الخاصية جميع الأحرف الكبيرة.
‫ثم افتح الأقواس ثم استخدم ما يسمى بحالة الجمل ، حيث نكتب الحرف الأول من كل
‫كلمة بالأحرف الكبيرة ونكتبها في أي مكان مثل ذلك ، ثم نغلق الأقواس.
‫لا حاجة لفاصلة منقوطة في نهاية هذا السطر.
‫هذا ليس صحيحًا ، لأنه في الواقع جزء من نفس التصريح مثل العدد الصحيح في الأسفل على السطر
‫أدناه.
‫لكننا نضعهم في سطور منفصلة فقط لنجعل حياتنا أسهل لقراءة هذا.
‫إذن لدينا خاصية تحرير أي مكان في 30 إلى int ثم علامة يساوي ثم 99.
‫ومن المهم أن تقوم بحفظ ملفاتك هنا افتراضيًا.
‫تحتاج إلى الضغط على السيطرة للقيام بذلك.
‫إذا انتقلت إلى قائمة الملفات ، فيمكنك الضغط على الحفظ التلقائي هنا كخيار حتى لا تضطر إلى الضغط على حفظ في كل مرة
‫تقوم فيها بتغيير الأشياء.
‫الآن هذا ما أفعله.
‫وبهذا ، يمكننا المضي قدمًا وإغلاق المحرر ، وإعادة تجميعه وإعادة فتحه ، وسيكون لدينا
‫متغير جديد على منصتنا المتحركة.
‫ممثل لكن هذا مؤلم قليلاً إذا اضطررنا إلى إغلاق المحرر في كل مرة أجرينا فيها تغييرًا في الكود.
‫لذلك هناك ميزة في Unreal تسمى Live Coding.
‫سأذهب فقط وأغلق مخطط المستوى وأظهر لك أن هناك زرًا لأسفل في أسفل اليمين يبدو
‫وكأنه مجموعة من المكعبات تتحلل في المسافة.
‫إذا قمت بالمرور فوقها ، فستظهر لك إعادة ترجمة رمز C ++ وإعادة تحميله للألعاب
‫أثناء التنقل ، انقر فوق هذا الزر وستظهر محطة مع سجل الرسائل التي هي نتيجة تجميع التعليمات البرمجية الخاصة بك.
‫الآن ، سيعمل هذا أسرع بكثير مما كان عليه في السابق لأنه ليس المرة الأولى التي يتم
‫تشغيله فيها ، وعندما يكتمل ، سوف يعطيك إشعارًا يفيد بأن الترميز المباشر قد نجح.
‫من المهم الآن أنه إذا لم ينجح الترميز المباشر ، فقم بنسخ نتائج السجل التي تأتي قبل الخطأ ونشرها في الأسئلة
‫والأجوبة إذا كنت بحاجة إلى طلب المساعدة ، ولكن أيضًا تحقق مرة أخرى وتأكد من أن بناء
‫الجملة الخاص بك يطابق ما كتبته على الشاشة.
‫في كثير من الأحيان ، سنجد أنه مجرد خطأ مطبعي ارتكبه الأشخاص ولا يتم تجميعه بسبب
‫ذلك.
‫انتبه جيدًا إلى الكتابة بالأحرف الكبيرة لأن الكتابة بالأحرف الكبيرة غالبًا ما تكون مهمة جدًا وكذلك الفاصلة المنقوطة.
‫غالبًا ما ينسى الناس تضمين هؤلاء.
‫لذا أود الآن أن أتحداك لإضافة المتغير الخاص بك على سطر جديد في ملف الرأس هذا.
‫لذا اجعله نوعًا عائمًا أو ثورًا واعطيه اسمًا مختلفًا.
‫لا يمكن أن تشترك المتغيرات في نفس الاسم.
‫يجب أن يكونوا مختلفين.
‫أعطها قيمة افتراضية.
‫لذلك إذا كانت قيمة عائمة ، فيجب أن تكون القيمة الافتراضية بالتنسيق.
‫نقطة شيء ، شيء ما ، شيء ما.
‫إذا كان الأمر منطقيًا ، فيجب أن يكون صحيحًا أو خاطئًا ، كل إعادة تجميع الأحرف الصغيرة باستخدام الترميز المباشر ومن ثم معرفة
‫ما إذا كنت قد حصلت على أي أخطاء وإذا كنت قد عدت وشاهد كيف أفعل ذلك للتحقق مرة أخرى من أنك قمت بكتابته بشكل
‫صحيح طريق.
‫وقفة الفيديو وانطلق.
‫تمام.
‫مرحبًا بعودتك.
‫لذا دعنا نعود إلى كود Visual Studio وسنضيف متغيرًا.
‫لذا أولاً وقبل كل شيء ، سنجعلها خاصية جديدة.
‫إنه فتح الأقواس وتعديل أي مكان وإغلاق الأقواس.
‫ثم في سطر جديد ، سأجعله نوعًا عائمًا وسنطلق عليه اسم تعويمي فقط لمواكبة
‫التقليد هنا.
‫وسنمنحه القيمة الافتراضية 5. 99 ثم ضع فاصلة منقوطة في نهاية السطر
‫، وتأكد من أن لديك جميع مكونات ما كتبته للتو هنا.
‫ثم سأضيف المزيد من المساحات.
‫لاحظ أنني أقوم بإضافة عدة أسطر جديدة.
‫لا يهم حقًا عدد الخطوط الجديدة التي لديك.
‫لا يهم المسافة البيضاء.
‫كما قلت ، إذن سيكون لدينا عقار جديد مرة أخرى.
‫قم بتحرير أي مكان سيكون من النوع المنطقي وسأطلق عليه منطقي وسأعطيه القيمة الافتراضية
‫لـ true وأضع فاصلة منقوطة في النهاية هناك.
‫الآن ليس عليك الحفظ إذا كان لديك حفظ تلقائي ، لكنك تفعل ذلك.
‫إذا لم تفعل ، فسنعود إلى المحرر.
‫نضغط على زر الترميز المباشر في أسفل اليمين وسيظهر السجل ونأمل أن ننجح ، وهو ما
‫فعله من أجلي.
‫لكني أريد فقط أن أريكم ما سيحدث إذا ارتكبت خطأ ، مثل ترك الفاصلة المنقوطة ونهاية
‫هذا السطر بدلاً من اللون الأخضر الجميل المطمئن.
‫في نهاية السجل ، سيكون لديك بنية حمراء فاشلة تظهر بدلاً من ذلك.
‫لذلك من المهم أنه إذا حصلت على تصميم ، وفشلت ، وأول الأشياء أولاً ، اذهب وتحقق من الكود
‫الخاص بك ، وتأكد من أنه يطابق لي ، لأنه كما قلت ، غالبًا ما يكون مجرد خطأ مطبعي وإذا لم يكن كذلك ،
‫فقم بنسخه ووضعه في الأسئلة والأجوبة واطلب بعض المساعدة.
‫ومع ذلك ، سأقوم بتصحيح الكود الخاص بي الآن وإعادة تجميعه ، وعندما ينجح ذلك ، يمكنني إغلاق السجل ويمكنني
‫البحث في المخطط التفصيلي للمنصة المتحركة ، ويمكنني تحديد النظام الأساسي المتحرك للبحث فيه جزء التفاصيل
‫واطلع على جميع المتغيرات التي قمت بإنشائها.
‫إنها عبارة عن عوامة وقيمة منطقي والقيم الافتراضية التي أعطيناها هناك.
‫الآن ، من الجدير بالذكر أن هذه في الواقع مجرد افتراضات.
‫لذلك إذا كنت تريد تجاوز هذه القيم في المحرر أو في Blueprint أو في المستوى ، ثم انتقلت وقم
‫بتغييرها في C ++ ، فلن يكون للتغييرات في C ++ أي تأثير.
‫كانت مجرد قيم افتراضية.
‫لذلك ، إذا أجريت تغييرات في Blueprint ، فإن ذلك يكون له الأسبقية ويتجاوز أي شيء قمت به في C ++.
‫أشياء رائعة.
‫لقد أنشأنا المتغيرات الأولى لدينا ، أول كود لدينا في C ++ وقمنا بإدخاله باستخدام الترميز المباشر.
‫سأراك في المحاضرة القادمة.