ينتهي الجري بالاصطدام
جزء من قسم إنشاء ألعاب حقيقية في رحلة 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";
}
}
جميع دروس إنشاء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارمنصات متحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء لا نهاية له
ثلاثة مساراتعقبات أمامكتدرّب بنفسك: Playground لـ Unity