חדר בריחה
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-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גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוףתרגלו בעצמכם: Unity אונליין