מרוץ נגד הזמן
חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 55 מתוך 56.
מרוץ נגד הזמן דרך גינה. הרץ מתחיל בקצה אחד, כשנותרו עשר שניות על השעון, ועליו להגיע אל המטרה הלבנה שבקצה הרחוק, מסביב לגדר חיה, לפני שייגמר הזמן. שעוני זהב בדרך מוסיפים כמה שניות בכל פעם. כשהזמן כמעט נגמר, השעון הופך לאדום; כשהוא נגמר, המסלול מתחיל מחדש. הגיעו למטרה בזמן והמשחק ממשיך לסצנת הסיום.
כתבו שני סקריפטים: Runner על הרץ, שהוא CharacterController, ו-Race על אובייקט ה-Race.
אתגר
קשהב-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;
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה בונים משחקים אמיתיים
10פרויקט: משחק פלטפורמה תלת־ממדי
המסלולפלטפורמות נעות