סיכום: כלב שמירה
חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 55 מתוך 63.
אתגר
בינוניכלב שמירה מרחיק זרים מהמלונה שלו. כתבו את הסקריפט 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()
{
// שמור על המלונה: רדוף אחרי השחקן כשהוא קרוב אליה, או חזור הביתה
}
}
כל השיעורים ביחידה פיזיקה ומשחקיות
1גוף קשיח
כוח הכבידה והמסהדחיפה באמצעות AddForceקפיצה באמצעות מתקףFixedUpdate לפיזיקהמהירותגופים קינמטייםחזרה: משטח שיגור2התנגשויות
OnCollisionEnterבמה פגעתי?להישבר בעת פגיעהלעמוד על הקרקעניתור וחיכוךצורות Colliderסיכום: קיר שביר5פרויקט: מרוץ המטבעות
הכדור המתגלגלמטבעות לאיסוף