Menu
CoddyTech

סיכום: כלב שמירה

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

challenge icon

אתגר

בינוני

כלב שמירה מרחיק זרים מהמלונה שלו. כתבו את הסקריפט Dog. המפקח מספק לו את player, את kennel (השטיח האדום שלפני בית הכלב), את speed (3.5), את guardRange (6) ואת bite (5). הסקריפטים Player ו־Health מוכנים: החצים דוחפים את השחקן, ול־Health של השחקן יש פונקציה ציבורית TakeDamage(int amount).

  • כל עוד השחקן נמצא במרחק קטן מ־guardRange מהמלונה, במישור הקרקע, הכלב רץ לעבר השחקן. הטווח נמדד מהמלונה, לא מהכלב.
  • אחרת, הכלב רץ בחזרה למלונה ונעצר כשהוא נמצא במרחק של 0.3 ממנה.
  • הכלב רץ באמצעות הגדרת המהירות של ה־Rigidbody שלו ל־speed במישור הקרקע, תוך שמירה על מהירות ה־y שלו.
  • כשהכלב נתקל בשחקן (שמתויג Player), ה־Health של השחקן סופג נזק של 1, והשחקן מקבל דחיפה מסוג Impulse בעוצמה bite, ישר הרחק מהכלב, במישור הקרקע.

לחצו על Play והתקרבו למלונה, ואז לחצו על Check.

נסו בעצמכם

using UnityEngine;

public class Dog : MonoBehaviour
{
    [SerializeField] private Transform player;
    [SerializeField] private Transform kennel;
    [SerializeField] private float speed = 3.5f;
    [SerializeField] private float guardRange = 6f;
    [SerializeField] private float bite = 5f;
    private Rigidbody rb;

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

    void FixedUpdate()
    {
        // שמור על המלונה: רדוף אחרי השחקן כשהוא קרוב אליה, או חזור הביתה
    }
}

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