Menu
CoddyTech

מרוץ נגד הזמן

חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 55 מתוך 56.

מרוץ נגד הזמן דרך גינה. הרץ מתחיל בקצה אחד, כשנותרו עשר שניות על השעון, ועליו להגיע אל המטרה הלבנה שבקצה הרחוק, מסביב לגדר חיה, לפני שייגמר הזמן. שעוני זהב בדרך מוסיפים כמה שניות בכל פעם. כשהזמן כמעט נגמר, השעון הופך לאדום; כשהוא נגמר, המסלול מתחיל מחדש. הגיעו למטרה בזמן והמשחק ממשיך לסצנת הסיום.

כתבו שני סקריפטים: Runner על הרץ, שהוא CharacterController, ו-Race על אובייקט ה-Race.

challenge icon

אתגר

קשה

ב-build יש שתי סצנות, Track ו-Finish. במסלול, השעונים מתויגים בתגית Clock והמטרה בתגית Goal; שניהם מפעילי טריגר.

ה-Inspector נותן ל-Runner את speed (6), את gravity (-9.81) ואת race (סקריפט Race).

  • פעולת Move של הפרויקט מניעה את הרץ במהירות speed יחידות לשנייה: ימינה ושמאלה לאורך x, למעלה ולמטה לאורך z. הוא נופל בכוח gravity ונע רק באמצעות controller.Move, כך שהגדר עוצרת אותו.
  • התנגשות בשעון צורכת אותו ומעניקה למרוץ את תוספת הזמן. התנגשות במטרה מסיימת את המרוץ.

ה-Inspector נותן ל-Race את timeLimit (10), את bonus (3) ואת timeText.

  • הזמן שנותר מתחיל ב-timeLimit ויורד בהתאם לזמן האמיתי שעובר. timeText מציג אותו עם ספרה אחת אחרי הנקודה, בתור Time: 7.4, בלבן, ובאדום (Color.red) כשנותרו פחות מ-3 שניות.
  • כל שעון מוסיף bonus שניות.
  • כשהזמן מגיע ל-0, יש לרשום ביומן Time's up! ולטעון שוב את המסלול מתחילתו.
  • כשהמרוץ מסתיים בזמן, יש לרשום ביומן את הזמן שנותר, בתור Finished with 4.2 s left, ולטעון את סצנת Finish.

לחץ על Play והקדם את השעון, ואז לחץ על Check.

נסו בעצמכם

using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;

public class Race : MonoBehaviour
{
    public float timeLimit = 10f;
    public float bonus = 3f;
    public TMP_Text timeText;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה בונים משחקים אמיתיים