Menu
CoddyTech

אזורי מוות

חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 18 מתוך 63.

אזור קטלני הוא אזור הפעלה מעל מקום שאליו אסור לשחקן להגיע: לבה, קוצים או החלל הריק שמתחת לשלב. כניסה אליו מחזירה את השחקן לנקודת הופעה. כאן הסקריפט של הלבה עצמה עושה זאת, כאשר נקודת ההופעה נמצאת בשדה Transform שהוגדר ב-Inspector:

public Transform spawnPoint;

void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Player"))
    {
        other.transform.position = spawnPoint.position;
        other.attachedRigidbody.linearVelocity = Vector3.zero;
    }
}

other.attachedRigidbody הוא ה-Rigidbody שאליו שייך ה-collider שנכנס. הגדרת transform.position משגרת את השחקן, וזה מה שנדרש להופעה מחדש. עם זאת, Rigidbody שומר על המהירות שלו במהלך הקפיצה: שחקן שנפל במהירות של 10 יחידות לשנייה יגיע לנקודת ההופעה כשהוא עדיין נופל במהירות של 10, ושחקן שרץ לתוך הלבה ימשיך לרוץ וייכנס אליה שוב מיד. הגדרת linearVelocity ל-Vector3.zero גורמת לו להגיע בעמידה. בדיקת התג משאירה כל דבר אחר שנופל לתוך הלבה במקומו.

challenge icon

אתגר

קל

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

  • כשהמשחק מתחיל, נקודת החזרה למשחק היא המקום שבו השחקן עומד.
  • נגיעה ב־Checkpoint הופכת את מיקום השחקן באותו רגע לנקודת החזרה החדשה למשחק.
  • כניסה ל־KillZone מחזירה את השחקן לנקודת החזרה למשחק, ללא תנועה.

לחץ על Play וצעד אל מחוץ לגשר, ואז לחץ על Check.

נסו בעצמכם

using UnityEngine;

public class Player : MonoBehaviour
{
    public float force = 12f;
    Rigidbody body;
    Vector3 input;
    // respawn: המקום שאליו השחקן חוזר

    void Start()
    {
        body = GetComponent<Rigidbody>();
    }

    void Update()
    {
        input = new Vector3(Input.GetAxisRaw("Horizontal"), 0f, Input.GetAxisRaw("Vertical"));
    }

    void FixedUpdate()
    {
        body.AddForce(input * force);
    }

    // Checkpoint: זוכרים איפה השחקן נמצא. KillZone: חוזרים לאותו מקום, בלי לזוז.
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה פיזיקה ומשחקיות