‫أهلا ومرحبا.
‫في هذه المحاضرة نقوم بتنفيذ منصات متحركة.
‫سنقوم بالفعل بجعل هذه المنصة تتحرك من خلال فهم شيء يسمى حلقة اللعبة
‫وكيف ترتبط وظيفة التجزئة في C ++ بها.
‫دعنا نتعمق ونكتشف.
‫حتى هذه النقطة ، كنا نتجاهل هذه الوظيفة هنا ، دالة التجزئة.
‫لقد وضعنا كل شيء في بدء التشغيل لأن هذا ما استخدمناه من قبل في Blueprint.
‫لكن دعونا نلقي القليل من الضوء على وظيفة التجزئة هذه.
‫لفهم القراد ، نحتاج إلى فهم مفهوم حلقة اللعبة ، وهذه هي الطريقة التي تبني بها معظم
‫محركات الألعاب محركها.
‫الطريقة التي تعمل بها هي ، أولاً وقبل كل شيء ، أن محرك اللعبة سوف يأخذ المدخلات من اللاعب.
‫لذا ، مهما كان ما يحدث حاليًا ، سواء كان شريط المسافة معطلاً أو ما إذا كان مفتاح W ، سواء تم
‫تحريك الماوس قليلاً ، سواء كان زر الماوس معطلاً ، كل هذه الأشياء
‫سيتم استيعابها بواسطة محرك اللعبة ومعالجتها .
‫ثم الشيء التالي هو أن المعلومات سوف تستخدم لتحديث حالة اللعبة.
‫ربما يتحرك اللاعب للأمام قليلاً ، وربما سترتد الكرة ، وسيتم حساب كل هذه الأنواع
‫من الأشياء وتشغيل محركات الفيزياء وكل هذا النوع من الأشياء الرائعة التي رأيناها في ألعابنا السابقة.
‫والخطوة الثالثة هي أن محرك اللعبة سيأخذ حالة اللعبة ويقول ، حسنًا
‫، حسنًا ، اللاعب هنا والكاميرا هنا ، الكرة هناك ، وسوف يعرضها على الشاشة.
‫سيحولها من مجموعة من الأرقام إلى صورة لعرضها على شاشتك.
‫الآن ، هذه الصورة تسمى الإطار ، الإطار عبارة عن صورة واحدة في سلسلة من الصور التي تشكل
‫مقطع فيديو.
‫الآن ، قد يكون جهاز الكمبيوتر الخاص بك قادرًا على عرض الكثير والكثير من الإطارات في الثانية ، أو قد يتم عرض عدد أقل.
‫ولكن هذا يسمى معدل عرض الإطارات.
‫كم عدد الإطارات في الثانية التي يمكن لجهاز الكمبيوتر الخاص بك المرور بها خلال حلقة اللعبة؟
‫كم مرة يمكنه معالجة المدخلات وتحديث الحالة وعرضها؟
‫هذه هي الإطارات في الثانية وفي غير الواقعية ، نستخدم وظيفة التجزئة لمساعدتنا في القيام بالخطوة الوسطى
‫من حلقة اللعبة لمساعدتنا على تحديث حالة لعبتنا.
‫إنها وظيفة تسمى كل إطار وتوجد في مخطط بالإضافة إلى حدث.
‫لذلك تحصل على حدث التجزئة ويسمح لك بشكل أساسي بفعل شيء لتحديث لعبتك في كل إطار.
‫الآن في حالتنا ، ما نريد أن نفعله بهذا هو السماح لها بتحريك منصتنا.
‫فكيف يمكننا فعل ذلك؟
‫حسنًا ، إذا أخذنا موقع الممثل المحدد وقمنا بإزالته من بدء التشغيل وبدلاً من ذلك قمنا بتحديث هذا الموقع
‫في وضع علامة ، فلن يؤدي ذلك كثيرًا في البداية لأننا سنقوم فقط بتحديث موقعنا باستمرار إلى
‫نفس الموقع.
‫إذا قمنا بتعيين موقع الممثل ، والمتجه الخاص بي ، ثم الفاصلة المنقوطة ، فهذا مجرد كل إطار فردي ، كل
‫تكرار خلال حلقة اللعبة.
‫إنها ستضع الممثل في نفس المكان.
‫ومع ذلك ، حيث يصبح هذا مثيرًا للاهتمام إذا قمنا بتحديث القيمة داخل المتجه الخاص بي.
‫إذن ما يمكننا فعله هو أن نقول إن المتجه نقطتي z يساوي المتجه نقطتي z زائد واحد.
‫إذن ما نفعله هنا هو أننا نأخذ القيمة الموجودة حاليًا في المتجه Z.
‫نضيف واحدًا إليها ثم نأخذ هذه النتيجة بأكملها ونعيدها إلى المتجه dot
‫z.
‫لذلك في كل مرة نمر فيها من خلال حلقة اللعبة هذه ويتم استدعاء العلامة من قبل المحرك غير الواقعي
‫، يجب أن يزيد متجه z بمقدار واحد.
‫لذلك دعونا نرى ما هي نتيجة هذا.
‫نذهب إلى Unreal ونضغط على زر الترجمة ثم نضغط على play.
‫يجب أن نرى أن هذه المنصة ترتفع ، وتطفو في الهواء لأنني أقوم بزيادة موقعها
‫Z ، لذلك أجعلها ترتفع أعلى وأعلى.
‫لذا أود منك أن تجرب تغيير Y بدلاً من تغيير Z.
‫لذا قم بتغيير السطر الصحيح من التعليمات البرمجية.
‫قد تحتاج إلى تغيير بعض أكثر من مكان.
‫قم بتغيير حجم مكعب النظام الأساسي بحيث يكون نظامًا أساسيًا جيدًا بالنسبة لك للقفز ومعرفة ما إذا كان تحديث Y بدلاً من تحديث
‫Z يسمح لك بالقفز إلى النظام الأساسي وإيقاف الفيديو مؤقتًا والقيام بالذهاب.
‫تمام.
‫مرحبًا بعودتك.
‫لذلك دعونا نتعمق في كود Visual Studio.
‫وما نريد فعله هو جعل المتجه y مساويًا للمتجه y زائد واحد.
‫لذلك سوف يتحرك على طول المحور Y بدلاً من المحور Z.
‫وبعد ذلك سنقوم بتعيين موقع كل إطار على النتيجة المخزنة في متغير المتجه
‫الخاص بي.
‫لذلك سنعود إلى Unreal ونتأكد من أننا نجمعها.
‫ثم سنبحث في المخطط التفصيلي للمنصة المتحركة ونختارها.
‫انتقل إلى جزء التفاصيل.
‫وهنا نريد أن ننقر مرتين على المنصة حتى نتمكن من رؤيتها ثم نرغب في توسيع
‫نطاقها قليلاً.
‫لذلك سأستخدم أداة القياس مع المفتاح R وسأزيد المقياس Y و X وخفض
‫المقياس Z.
‫لذا فإن منصتي أقصر قليلاً.
‫مثل ، إذن سنقوم أيضًا بحفظ مستوى اللعب الضرب والمنصة تطفو على
‫يميني.
‫لذا فهو أيضًا أكبر ، مما يعني أنه يمكنني الوقوف والوقوف عليه.
‫وها نحن ذا.
‫لدينا أول جزء صغير من ميكانيكي اللعبة.
‫لدينا منصة متحركة.
‫لن نتقدم إلى الوراء والأمام في أننا سنكتشف المزيد عن ذلك في المحاضرات
‫القادمة.
‫لكن في الوقت الحالي ، قمنا بالفعل بتنفيذ بعض وظائف اللعبة في C ++.
‫أعتقد أنك يجب أن تكون فخوراً بنفسك في هذه اللحظة.
‫ربّت على ظهرك وسأراكم في المحاضرة القادمة.