שלושה חיים
חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 41 מתוך 67.
אתגר
בינונישלוש החטאות מסיימות את המשחק. הוסף [SerializeField] private int lives (הסצנה מגדירה אותו ל־3).
- כל כוכב שהוחמץ עולה בחיים אחד, ורושם
Missed! Lives: 2, עם מספר החיים שנותרו. - כשהחיים מגיעים ל־0, רשום גם
Game overוכבה את הסקריפט באמצעותenabled = false. Unity מפסיקה לקרוא ל־Update()בסקריפט מושבת, כך שהכוכב נעצר והתופס כבר לא זז.
תפיסות עדיין מוסיפות ניקוד ומאיצות את הכוכבים. שמור על כל מה שנכלל בשלבים הקודמים.
נסו בעצמכם
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private Transform star;
[SerializeField] private float fallSpeed = 3f;
[SerializeField] private float speedUp = 0.5f;
private int score;
void Update()
{
float x = transform.position.x;
if (Input.GetKey(KeyCode.RightArrow))
{
x += speed * Time.deltaTime;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
x -= speed * Time.deltaTime;
}
x = Mathf.Clamp(x, -4f, 4f);
transform.position = new Vector3(x, transform.position.y, transform.position.z);
star.position += Vector3.down * fallSpeed * Time.deltaTime;
if (Vector3.Distance(transform.position, star.position) < 1f)
{
score++;
fallSpeed += speedUp;
Debug.Log("Caught! Score: " + score);
ResetStar();
}
else if (star.position.y < 0f)
{
ResetStar();
}
}
void ResetStar()
{
star.position = new Vector3(Random.Range(-4f, 4f), 6f, 0f);
}
}
כל השיעורים ביחידה יסודות התכנות ב-Unity
1הסקריפט הראשון שלך
שלום, Unityהצב את הקובייהזוז בכל פרייםהסתובב בכל שנייהנווט בעזרת המקשיםסיכום: נהג בקובייה4וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן10מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: מתעד מחזור החיים