התופס
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 50 מתוך 85.
בפרק הזה נבנה משחק קטן, תפוס את הכוכב, תכונה אחת בכל שיעור: כוכב נופל, מזיזים לוכד שמאלה וימינה מתחתיו, כל תפיסה צוברת נקודות וגורמת לכוכב הבא ליפול מהר יותר, ושלוש החטאות מסיימות את המשחק. כל זה נמצא בסקריפט אחד, Catcher, שעל הלוכד. התכונה הראשונה היא תנועה: הלוכד נע עם מקשי החצים ולעולם לא עוזב את הרצפה.
הגבלת מספר לטווח מסוים היא תפקידו של Mathf.Clamp(value, min, max). הפונקציה מחזירה את min כשהערך נמוך מ-min, את max כשהערך גבוה מ-max, ואת הערך עצמו בכל מקרה אחר. המצלמה הזאת עוקבת אחר השחקן במעלה מגדל, אבל הגובה שלה נשאר בין 2 ל-12:
[SerializeField] private Transform player;
void Update()
{
float y = Mathf.Clamp(player.position.y, 2f, 12f);
transform.position = new Vector3(transform.position.x, y, transform.position.z);
}Clamp מחזירה מספר חדש ואינה משנה דבר בפני עצמה, לכן יש להציב את התוצאה. יש להפעיל Clamp לאחר כל השינויים של הפריים ולפני שמחזירים את המיקום, וכך באף פריים האובייקט לא יוצג מעבר לגבול שלו.
אתגר
בינוניהעניקו לתופס, הפס הכחול, תנועה.
- ב־
Update(), העתיקו אתtransform.position.xאלfloat x, ואז הוסיפו או הפחיתו אתspeed * Time.deltaTimeבהתאם לחץ שמוחזק. - השאירו את התופס, שרוחבו 2 יחידות, על הרצפה (x בין -5 ל־5):
x = Mathf.Clamp(x, -4f, 4f);. - כתבו את
xבחזרה אלtransform.position, תוך שמירה על y ו־z.
לחצו על „שחק” והחזיקו את החצים: הוא נעצר בקצוות. לאחר מכן לחצו על „בדיקה”.
נסו בעצמכם
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
void Update()
{
// מקשי החצים: הזיזו את התופס לאורך x במהירות של speed יחידות לשנייה.
// השאירו את התופס כולו על הרצפה (x מ־-5 עד 5, רוחב התופס הוא 2).
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין