‫مرحبًا بعودتك.
‫في الفيديو الأخير ، تعلمنا بعض محددات الخصائص الجديدة التي تسمح لنا بعرض متغيرات C ++ الخاصة
‫بنا بطرق معينة على لوحة التفاصيل في المخططات.
‫في هذا الفيديو ، سنتعلم المزيد من المحددات التي تتيح لنا مزيدًا من التحكم في الوصول إلى
‫تلك المتغيرات.
‫في لوحة التفاصيل ، سنتحدث أيضًا عن كيفية السماح بالوصول أو القراءة أو الكتابة
‫في الرسم البياني الفعلي للحدث لمتغير C ++ معين.
‫لذلك دعونا نتعمق في الأمر.
‫تمام.
‫لذا عدت هنا في كود VS وإليك المتغيرات التي أنشأناها في الفيديو الأخير.
‫الآن هنا متغير السرعة الخاص بي.
‫كان هذا من أجل التحدي.
‫من المحتمل أنك أنشأت متغيرًا مختلفًا ، وهو أمر جيد تمامًا ، لذا احتفظ بهذا المتغير هناك.
‫سنقوم ببعض الأشياء الأخرى به في هذا الفيديو.
‫لقد تعلمنا الآن أنه يمكننا جعل المتغير مرئيًا في أي مكان ، وعندما نقول في أي مكان ، فإننا
‫نعني في لوحة التفاصيل ، إما في مثيل أو في المخطط الافتراضي.
‫لقد رأينا أنه يمكننا أيضًا تعديله في أي مكان ، وعندما نستخدم المثيل المرئي فقط ، يكون مرئيًا
‫فقط في مثيل.
‫لا يمكنك حتى رؤيته في المخطط الافتراضي وعلى أي حال ، لا يمكنك تحريره لأنه غير
‫نشط.
‫لذلك يسمح لنا هذا بجعل المتغير مرئيًا فقط في المثال.
‫ولكن ماذا لو أردنا أن يكون مرئيًا فقط في المخطط الافتراضي؟
‫حسنًا ، هناك محددات لذلك أيضًا.
‫لنقم بعمل آخر في 32 ودعنا نسمي هذا الافتراضيات المرئية int فقط.
‫ويمكننا تهيئة هذا إلى قيمة.
‫سأعطيها خمسة وسنمنحها خاصية U أيضًا.
‫والتحديد هو لجعل هذا مرئيًا فقط في الإعدادات الافتراضية.
‫ربما يمكنك تخمين ما هو عليه.
‫إنها القيم الافتراضية المرئية فقط.
‫لذلك سأقوم بتجميع هذا والعودة هنا في المحرر ، سأقوم بفتح BP Pond Tank مرة أخرى.
‫ومع التحديد الذاتي لـ BP Pond Tank ، فإن جميع متغيراتنا موجودة هنا في الأعلى ، لذلك
‫لن أبحث عنها.
‫ولكن هذه الإعدادات الافتراضية المرئية هي int فقط ولديها القيمة خمسة وبالطبع أصبحت باللون الرمادي الآن كما
‫يوحي الاسم ، فهي مرئية فقط في الوضع الافتراضي.
‫لذلك إذا ذهبت إلى العالم واخترت أحد مثيلات خزان بركة BP هنا ، فلا توجد إعدادات افتراضية مرئية
‫فقط لأنها غير مرئية في المثيل ، فقط في الوضع الافتراضي.
‫لذلك هذا منطقي الآن.
‫دعنا نعود إلى كود VS ولدينا المزيد من المحددات للتعرف عليها.
‫لقد رأينا الآن أنه يمكننا التعديل في أي مكان وأنه باستخدام محدداتنا المرئية ، يمكننا اختيار المثيل
‫فقط أو الافتراضي فقط.
‫لذا ، كما خمنت على الأرجح ، يمكننا التعديل على المثيل فقط أو الإعدادات الافتراضية فقط إذا اخترنا ذلك.
‫لذلك دعونا نجعل زوجين أكثر في 30 زوجًا.
‫سأقوم بعمل واحد يسمى تحرير الافتراضات int فقط وأقوم بتهيئة ذلك إلى قيمة
‫قل تسعة ثم عدد 32 آخر يسمى تحرير مثيل فقط int.
‫وسأعطي هذه القيمة 14.
‫لذلك نريد تحرير الافتراضات فقط ليكون قابلاً للتحرير على الإعدادات الافتراضية وتحرير المثيل فقط
‫وقابل للتحرير في المثيل فقط.
‫الآن أسماء هذه المحددات متسقة إلى حد كبير ، لذا أود منكم فقط تخمين ما ستكون المحددات
‫لمستويي الوصول هذين.
‫انطلق وقم بتحدي صغير سريع.
‫أوقف الفيديو مؤقتًا واملأها ، وانظر إذا كنت على حق.
‫حسنًا ، هذه ستكون ملكًا لك وتعديل الإعدادات الافتراضية.
‫النهاية فقط هي التي ستجعلك تفكر في ذلك.
‫تحرير الافتراضيات فقط ولحالة التحرير فقط ، سأعطي هذا ماكرو خاصية u وسيكون
‫هذا نسخة تحرير فقط.
‫لذلك فهي بديهية جدا.
‫دعنا نمضي قدمًا ونجمع هذه العناصر ونعيدها هنا في المحرر باستخدام BP - الخزان مفتوح ، وهنا إعدادات
‫التحرير الافتراضية الخاصة بنا فقط في حالة عدم رؤية مثيل التحرير فقط ولم نتوقع أنه تم تعيينه على
‫تسعة هنا يمكننا تغييره وإذا نذهب إلى العالم بإحدى مثيلاتنا المختارة ، يمكننا أن نرى نسخة التحرير int
‫فقط وبالطبع هذا قابل للتحرير أيضًا.
‫أضفنا الآن ثلاثة محددات جديدة إلى التمثيل البياني هنا.
‫لدينا قيم افتراضية مرئية فقط ، وهي في العمود الافتراضي فقط وفي صف القراءة فقط.
‫وبعد ذلك نقوم بتحرير الافتراضيات فقط وتعديل المثيل فقط في الصفوف الخاصة بهم.
‫لذلك نحن نملأ هذا الرسم البياني بسرعة كبيرة ، لكن ستلاحظ وجود مسافتين فارغتين
‫هناك على اليمين وعمود الرسم البياني للحدث.
‫لذلك دعونا نتحدث عن هذه لمدة دقيقة الآن.
‫أنا هنا في BP Pond Tank ، ولدينا كل هذه المتغيرات التي عرضناها على التفاصيل واللوحات اعتمادًا
‫على محدداتها.
‫يمكنك رؤيتهم هنا أو على سبيل المثال.
‫ولكن ماذا لو نقرت بزر الماوس الأيمن هنا في الرسم البياني للحدث؟
‫الرسم البياني للحدث هو مكان آخر يمكننا من خلاله الوصول إلى المتغيرات وربما تغييرها.
‫لذلك إذا قمت بكتابة تحرير في أي مكان ، فلن أرى التعديل في أي مكان.
‫لا يتم عرضه على الرسم البياني للحدث.
‫ليس لدينا وصول إلى ذلك.
‫هناك محددات أخرى تسمح لنا بكشف الأشياء هنا في الرسم البياني للحدث ويمكن أن تعمل جنبًا
‫إلى جنب مع المحددات التي تتحكم في إمكانية الوصول إلى لوحة التفاصيل.
‫وأود عرض أحد هذه المتغيرات على الرسم البياني للحدث.
‫الآن ، يمكنني اختيار أي واحد من هؤلاء ، لكنني سأختار هذا المرئي في أي مكان.
‫INT الآن يو.
‫يمكن أن يأخذ ماكرو الخاصية مدخلات متعددة ، لذلك لدينا مرئية في أي مكان.
‫لا يزال بإمكاننا الحصول على ذلك.
‫سأضع فاصلة وأرغب في إضافة أخرى محددة لذلك ستعطي هذا العرض المرئي في نهاية
‫أي مكان للرسم البياني للحدث.
‫لذا فإن ما سأستخدمه هو قراءة المخطط ، والكتابة ، وقراءة المخطط.
‫الكتابة لها علاقة بالرسم البياني للحدث.
‫لا علاقة له بالتحكم في لوحة التفاصيل.
‫هذا ما هو مرئي في أي مكان.
‫لذا فإن Blueprint Rewrite ، كما يوحي الاسم ، يقوم بالوصول للقراءة والكتابة.
‫لذلك دعونا نرى كيف يبدو ذلك.
‫دعنا نجمع هذا وسأعود هنا في المحرر في الرسم البياني للأحداث إذا نقرت بزر الماوس الأيمن وأكتب مرئيًا
‫في أي مكان.
‫سنرى خيارين مختلفين يظهران في أي مكان ويتم تعيينهما في أي مكان.
‫INT إذا قمت بتحديد ، كن مرئيًا في أي مكان.
‫INT نحصل على عقدة وهذا تمامًا مثل أي عقدة مخطط أخرى ، فهو يمثل متغير C ++ وإذا سحبنا
‫منه ، فيمكننا الوصول إلى هذه القيمة للقيام بشيء ما معها.
‫الآن سأقوم بالتمرير للخارج وسترى أن لدينا ممثل العقد الرمادية يبدأ ، يتداخل
‫وعلامة الحدث ويتم استدعاء Begin Play في بداية اللعبة كما تعلم.
‫حتى نتمكن من القيام بشيء هنا.
‫أرغب في استخدام عقدة سلسلة طباعة وإذا قمت بسحب سلسلة الطباعة وكتبتها ، فهذه هي.
‫إنها عقدة دالة مخطط وتستغرق إدخالًا يسمى في السلسلة.
‫الآن إذا قمت بالمرور فوقها ، فستجدها في سلسلة ثم سلسلة أسفلها مباشرة.
‫هذا هو النوع الذي تقبله هذه العقدة كمعامل إدخال.
‫ونعلم أن المرئي في أي مكان هو int هو int 32 ، وليس سلسلة.
‫ولكن إذا نقرت من إخراج هذه الملاحظة وسحبتها وألصقتها هنا في الإدخال قبل تحرير زر الماوس الأيسر
‫، فسترى نافذة منبثقة تقول تحويل عدد صحيح إلى سلسلة ، وإذا قمت بتحريرها ، فستحصل على
‫عقدة التحويل المفيدة هذه يتحول من عدد صحيح إلى نوع سلسلة ، وهو أمر مفيد جدًا بالنسبة لنا
‫لأننا لا نحتاج إلى معرفة كيفية تحويل عدد صحيح إلى سلسلة.
‫انها مجرد تلقائية بالنسبة لنا.
‫الآن ، إذا قمت بالنقر فوق تشغيل ، فسنرى القيمة 12 مطبوعة ثلاث مرات وستستمر لبضع ثوانٍ فقط.
‫هذا هو سلوك سلسلة الطباعة.
‫الآن ، السبب وراء رؤيتنا له ثلاث مرات هو أن لدي ثلاث حالات مختلفة من خزان BP Pond هنا في
‫العالم.
‫اعتمادًا على عدد ما قمت بسحبه إلى العالم ، سترى هذا العدد.
‫لأنه لكل من هذه الحالات الفردية ، يتم استدعاء بدء اللعب في بداية اللعبة.
‫لذا فقط لتجنب الالتباس ، سأقوم بحذف اثنين آخرين لدي فقط وأترك حالة واحدة من Beep
‫Pond Tank هنا في العالم.
‫لذلك لديّ واحد فقط ، وإذا ذهبت وضغطت تشغيل مرة أخرى ، أرى 12 مطبوعة على الشاشة مرة واحدة فقط.
‫هذا هو الوصول للقراءة المرئي في أي مكان ولكننا رأينا أن لدينا أيضًا حق الوصول للكتابة.
‫هذا يعني أنه يمكننا تحديد قيمته من هنا في الرسم البياني للحدث.
‫لذا ، إذا نقرت بزر الماوس الأيمن وأكتب مرئيًا في أي مكان int مرة أخرى ، فيمكنني تحديد تعيين مرئي في
‫أي مكان int ولدي عقدة تعيين تأخذ إدخالًا يمكننا تمرير القيمة من عقدة أخرى أو يمكننا أخذ
‫مربع النص الصغير هذا والرمز الثابت ذات قيمة ، قل 66.
‫والآن بمجرد وصول تدفق التنفيذ من بدء التشغيل إلى هذه العقدة ، ستكتب
‫عقدة الضبط إلى مرئية في أي مكان وستقوم بتعيين قيمتها على 66.
‫وبالطبع يمكننا طباعة هذا مرة أخرى.
‫لذلك سأستخدم سلسلة الطباعة.
‫وبالنسبة للقيمة التي تم تمريرها إلى سلسلة الطباعة ، أود الحصول على قيمة مرئية في أي مكان int.
‫الآن يمكنني القيام بذلك بإحدى طريقتين.
‫تحتوي أداة الضبط على عقدة رجوع ، لذا بعد أن تحدد القيمة ، فإنها ترجع هذه القيمة ويمكننا استخدامها
‫حتى نتمكن من توصيلها مباشرة لطباعة السلسلة.
‫الطريقة الأخرى هي ببساطة النقر بزر الماوس الأيمن والحصول على مرئي في أي مكان يستخدم فيه int التي تحصل على عقدة ويمكننا
‫ربط القيمة من هذه العقدة مباشرة إلى سلسلة الطباعة التي من شأنها أن تفعل الشيء نفسه بالضبط.
‫لذلك أنا لست بحاجة إلى ذلك.
‫سأقوم بحذف تلك العقدة.
‫والآن ما أتوقع رؤيته عندما ألعب اللعبة هو أولاً طباعة قيمة مرئية في أي
‫مكان ، والتي تبدأ عند 12 ثم بعد تعيين قيمتها إلى 66 ، يجب أن أرى القيمة 66 أطبعها إلى الشاشة.
‫فلنبدأ اللعب ونرى 12 و 66.
‫الآن يبدون وكأنهم في ترتيب عكسي.
‫ذلك لأن سلسلة الطباعة تضيف رسائل أحدث في الأعلى.
‫إذن هذا سلوك طبيعي.
‫حسنا عظيم.
‫لقد رأينا أنه يمكننا قراءة مخطط متغير الآن.
‫يمكننا أيضًا التحكم في ما إذا كان بإمكاننا تعيين هذا من الرسم البياني للحدث أم لا.
‫لذلك دعونا نكشف عن متغير آخر حتى نتمكن من الحصول عليه من المخططات ولكن لا نضعه هنا للتعديل في أي مكان.
‫INT سأضيف فاصلة وأضيف إلى ذلك الآن محددًا للوصول إليه في الرسم البياني للحدث ولكن
‫لا يمكنني تعيينه أو الكتابة إليه.
‫ساعة التحديد هي مخطط للقراءة فقط ، لذا فإن التعديل في أي مكان أصبح الآن مخططًا للقراءة فقط.
‫لا يزال قابلاً للتحرير في لوحة التفاصيل ، سواء في الوضع الافتراضي أو في الحالات ، ولكن في الرسم البياني للحدث ، يتم
‫قراءته فقط.
‫لذلك دعونا نمضي قدمًا ونقوم بتجميع هذا والعودة هنا في المحرر ، سأقوم بالنقر بزر الماوس الأيمن في الرسم
‫البياني للحدث واكتب تحرير في أي مكان والتحقق منه.
‫لقد حصلنا على تعديل في أي مكان ولكن ليس لدينا مجموعة تعديل في أي مكان لأنه مخطط للقراءة
‫فقط ، ولا يمكننا الكتابة إليه.
‫لذلك سأقوم باختياره.
‫هنا تحرير في أي مكان.
‫INT وإذا أردت ، يمكنني استخدام عقدة سلسلة طباعة لمعرفة قيمتها.
‫لا حاجة لفعل ذلك.
‫نحن نعلم بالفعل كيف نفعل ذلك.
‫أنا فقط أوضح أنه لا يمكننا الكتابة لهذا المتغير.
‫حسنًا ، سأستمر في تحديد هذه العقد وحذفها.
‫إذن ، أصبح التمثيل البياني ممتلئًا الآن.
‫لقد تعلمنا أنه يمكننا جعل متغيراتنا مرئية فقط في الإعدادات الافتراضية ويمكننا جعلها قابلة للتحرير
‫فقط في الإعدادات الافتراضية أو في المثيل فقط.
‫لذلك لدينا حقًا التحكم الكامل من جانب C ++.
‫الآن رأينا أيضًا أنه يمكننا عرض هذه المتغيرات على الرسم البياني للحدث وجعلها للقراءة فقط أو القراءة بشكل
‫صحيح باستخدام هذه المخططات للقراءة فقط ، مخطط قراءة محددات الكتابة.
‫حتى الآن لديك التحدي.
‫في المحاضرة الأخيرة أنشأنا متغيرًا.
‫لقد صنعت عوامة وسميتها السرعة.
‫الآن ستأخذ هذا المتغير.
‫يمكنك إنشاؤه في القسم الأخير والتحكم في وصوله في الرسم البياني للحدث.
‫لذا قم بتعريضه للرسم البياني للحدث باستخدام أحد المحددات الجديدة التي تعلمتها ، ومن ثم ستختبر
‫الوصول للقراءة والكتابة لهذا الغرض.
‫استخدم عقدة سلسلة طباعة حتى تتمكن من رؤية قيمتها وإذا قمت بتغييرها ، أثبت لنفسك أنك قمت
‫بتغييرها.
‫لذلك إذا جعلت مخططك المتغير يقرأ بشكل صحيح ، فحاول تغييره باستخدام عقدة محددة ثم استخدام عقدة
‫سلسلة طباعة لمعرفة قيمتها باستخدام بدء تشغيل الحدث.
‫إذا جعلته مخططًا للقراءة فقط ، فيمكنك ببساطة الحصول على القيمة وطباعة قيمتها باستخدام سلسلة الطباعة.
‫لذا أضف التحديد الصحيح إلى المتغير المخصص واستخدم سلسلة الطباعة لاختبار الوصول في الرسم البياني للحدث.
‫أوقف الفيديو وجرب هذه المحاولة.
‫تمام.
‫لذلك سأقوم بالتمرير لأسفل إلى متغير السرعة الخاص بي هنا ويتم تعديل متغير السرعة الخاص بي في أي مكان وأود
‫أن يكون مخططًا للقراءة.
‫حسنًا ، لذا يمكنني تغييره من داخل الرسم البياني للحدث.
‫لذلك سأضيف مخططًا ، وأقرأ ، وأكتب وأجمع ببساطة.
‫لذا بالعودة إلى خزان بركة BP ، إذا قمت بكتابة السرعة الآن ، فأنا أرى جامعًا ومُحددًا لهذا.
‫لذلك سأستخدم السرعة المحددة.
‫سأحدد قيمته من Begin Play.
‫لذلك دعونا نربط هذا.
‫وبالنسبة للقيمة ، سأقوم بإدخال 900 ومن الملاحظة المحددة إذا قمت بالسحب ، يمكنني كتابة سلسلة الطباعة.
‫الآن سأقوم بالنقر والسحب من عقدة الإخراج ، وربطها بسلسلة.
‫لذلك إذا قمت بتشغيل ، فهناك 900 ، لاحظ أنها تقول 900. 0.
‫هذا لأن هذا عوامة.
‫ولذا فهي تمنحني مجاملة لإظهار تلك العلامة العشرية الأولى.
‫لذا فهذه ميزة مضمنة لطيفة هنا.
‫إنها تظهر لي رقمًا واحدًا على يمين العلامة العشرية لمتغير السرعة الخاص بي.
‫لذلك باختصار ، تعلمنا المزيد من المحددات لماكرو الملكية الجديد.
‫لقد تعلمنا الافتراضيات المرئية فقط ، وقمنا بتحرير الافتراضيات فقط وتحرير المثيل فقط.
‫وتعلمنا أيضًا كيف يمكننا التحكم في الوصول للقراءة والكتابة في الرسم البياني للأحداث باستخدام مخطط وقراءة
‫وكتابة وقراءة المخطط.
‫يتمتع مبرمج C ++ فقط بقدر كبير من التحكم في ما يتم عرضه وما يمكن تغييره في المخطط وأين
‫سنستخدمها خلال هذا القسم من الدورة التدريبية.
‫وستستمر في استخدامها طوال حياتك المهنية كمطور محرك غير حقيقي.
‫سأراك في المحاضرة القادمة.