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