חדר בריחה
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 63 מתוך 63.
חדר בריחה עם מנעול קוד. שלוש לוחיות לחץ אפורות מונחות על הרצפה, והדלת בקיר הצפוני נפתחת רק כשהשחקן דורך עליהן בסדר הנכון: לוחית 1, לוחית 2, לוחית 3. שום דבר בחדר לא מציין איזו לוחית היא איזו. דריכה על לוחית שגויה מתחילה את הקוד מחדש, וכל הלוחיות מהבהבות באדום למשך שנייה. הדלת שנפתחה נשארת פתוחה לכמה שניות ואז נסגרת שוב, אבל אף פעם לא על השחקן: כשהשחקן עומד בפתח, הדלת ממתינה.
הסקריפט של Player מוכן: החצים מזיזים את השחקן, שמתויג ב-Player ונמצא בשכבת Player. כתבו שני סקריפטים: Plate על כל לוחית ו-CodeLock על המנעול.
אתגר
קשהPlate, על כל לוח (טריגר). ב-Inspector נותנים לו number (1, 2 או 3) ו-codeLock (סקריפט ה-CodeLock של המנעול).
- כשהשחקן (עם התג
Player) דורך על הלוח, קוראים ל-codeLock.Press(number). כל דבר אחר שנוחת עליו לא עושה כלום.
CodeLock, על המנעול. ב-Inspector נותנים לו plates (ה-Renderers של שלושת הלוחות, לפי הסדר), door (הדלת), doorway (נקודה באמצע הפתח) ו-openTime (4).
- מתודה ציבורית
Press(int number). כאשרnumberהוא הלוח שהקוד מצפה לו כעת (1, אחר כך 2 ואז 3), רושמים אותו ביומן, למשלPlate 2. אם זה היה לוח 3, רושמים גםUnlocked, מתחילים את הקוד מחדש מלוח 1 ומתחילים קורוטינה שפותחת את הדלת. - כל לוח אחר גורם לרישום
Wrong plate, מתחיל את הקוד מחדש מלוח 1 ומתחיל קורוטינה שהופכת כל לוח לאדום (Color.red) למשך שנייה אחת, ואז מחזירה אותו לאפור (Color.gray). - קורוטינת הדלת משביתה את הדלת וממתינה
openTimeשניות. לאחר מכן היא ממשיכה להמתין, פריים אחד בכל פעם, כל עוד משהו בשכבת Player נמצא במרחק של יחידה אחת מ-doorway. לבסוף היא מפעילה שוב את הדלת ורושמתDoor closed.
לחצו על Play, מצאו את הסדר וצאו, ואז לחצו על Check.
נסו בעצמכם
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פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוף