התרסקות מסיימת את הריצה
חלק מהיחידה בניית משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 31 מתוך 60.
אתגר
בינוניהתנגשות צריכה לעצור את הריצה.
- מעל
GameManager, יש להצהיר עלpublic enum GameState { Playing, GameOver }; בתוכה יש להוסיףpublic GameState state = GameState.Playing;. public void GameOver()מגדירה אתstateלערךGameState.GameOverואתspeedלערך 0, ומציגה אתgameOverPanel.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";
}
}
כל השיעורים ביחידה בניית משחקים אמיתיים
10פרויקט: משחק פלטפורמה תלת־ממדי
המסלולפלטפורמות נעות2כפתורים ומסכים
כפתורים ו-onClickביטויי למבדהחיבור ב-Inspectorהפעלה וכיבוי של פאנליםפסי בריאותסיכום: חנות שדרוגים6פרויקט: רץ אינסופי
שלושה נתיביםמכשולים מלפניםתרגלו בעצמכם: Unity אונליין