غرفة الهروب
جزء من قسم الفيزياء وأسلوب اللعب في رحلة Unity على Coddy. الدرس 70 من 71.
غرفة هروب مزودة بقفل رمزي. توجد ثلاث لوحات ضغط رمادية على الأرض، ولا يُفتح الباب في الجدار الشمالي إلا عندما يخطو اللاعب عليها بالترتيب الصحيح: اللوحة 1، ثم اللوحة 2، ثم اللوحة 3. لا يوجد في الغرفة ما يوضح أي لوحة هي أيٌّ منها. تؤدي الخطوة على لوحة خاطئة إلى إعادة تسلسل الرمز من البداية، وتومض كل لوحة باللون الأحمر لمدة ثانية. يظل الباب المفتوح مفتوحًا لبضع ثوانٍ، ثم يُغلق مجددًا، لكن لا يُغلق أبدًا على اللاعب: ما دام اللاعب واقفًا في المدخل، ينتظر الباب.
البرنامج النصي Player جاهز: تحرك الأسهم اللاعب، الذي يحمل الوسم Player ويوجد على طبقة Player. اكتب برنامجين نصيين: Plate على كل لوحة وCodeLock على القفل.
التحدي
صعباربط اللوحات بالرمز: 1، 2، 3.
- في
Plate، عندما يدخلPlayer، استدعِcodeLock.Press(number);. - في
Press، معint next = 1: يؤدي التطابق إلى تسجيل"Plate " + numberوإضافة 1؛ وبعد 3، سجّلUnlockedوأعِد ضبطnext. - وإلا، سجّل
Wrong plate، وأعِد ضبطnext، وشغّل روتينًا مشتركًا: اجعل اللوحاتColor.redلمدة ثانية واحدة، ثمColor.gray.
اضغط «العب» واكتشف الترتيب. ثم اضغط «تحقق».
جرّب بنفسك
using System.Collections;
using UnityEngine;
public class CodeLock : MonoBehaviour
{
[SerializeField] private Renderer[] plates;
[SerializeField] private GameObject door;
[SerializeField] private Transform doorway;
[SerializeField] private float openTime = 4f;
public void Press(int number)
{
// تحقق من الرمز؛ اجعل اللوحات تومض عند إدخال رقم خاطئ؛ افتح الباب بعد اللوحة 3
}
}
جميع دروس الفيزياء وأسلوب اللعب
1الجسم الصلب (Rigidbody)
الجاذبية والكتلةالدفع باستخدام AddForceالقفز باستخدام دفعةFixedUpdate للفيزياءالسرعة المتجهةالأجسام الحركيةمراجعة: منصة الإطلاق4الكوروتينات
InvokeInvokeRepeating, CancelInvokeأول Coroutine لكالحلقات داخل الكوروتيناتإيقاف الكوروتيناتمراجعة: العد التنازلي10المشروع: الهروب من الحلبة
الحلبةالصيادونتدرّب بنفسك: Playground لـ Unity