Menu
CoddyTech

התרסקות מסיימת את הריצה

חלק מהיחידה בניית משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 31 מתוך 60.

challenge icon

אתגר

בינוני

התנגשות צריכה לעצור את הריצה.

  1. מעל GameManager, יש להצהיר על public enum GameState { Playing, GameOver }; בתוכה יש להוסיף public GameState state = GameState.Playing;.
  2. public void GameOver() מגדירה את state לערך GameState.GameOver ואת speed לערך 0, ומציגה את gameOverPanel.
  3. Runner קוראת ל־GameManager.Instance.GameOver() בעת הפעלת טריגר עם התג Obstacle. GameManager, Runner ו־Spawner מתחילות את Update() ב־return, אלא אם המצב הוא Playing.

לחצו על "שחק" והתנגשו: הכול נעצר. ואז לחצו על "בדיקה".

נסו בעצמכם

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    public float speed = 10f;
    public float speedUp = 0.5f;
    public float maxSpeed = 20f;
    public TMP_Text distanceText;
    public GameObject gameOverPanel;
    public Button restartButton;
    private float distance;

    void Awake()
    {
        Instance = this;
    }

    void Update()
    {
        speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
        distance += speed * Time.deltaTime;
        distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
    }
}

כל השיעורים ביחידה בניית משחקים אמיתיים

תרגלו בעצמכם: Unity אונליין