الاصطدام وإعادة اللعب
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 31 من 56.
التحدي
متوسطيُنهي الاصطدام الجولة، ويبدأ زر جولة جديدة. احتفظ بكل ما أُنجز في الدروس السابقة. تحتوي لوحة الرسم على GameOverPanel مخفية وبداخلها RestartButton مكتوب عليه Run again، ويملأ المشهد حقلين جديدين في GameManager، وهما gameOverPanel وrestartButton. لدى Runner مكوّن Rigidbody حركي، لذا تصله رسائل المشغّلات من العوائق.
في GameManager:
- فوق الصنف، صرّح عن
public enum GameState { Playing, GameOver }، وأضف إلى الصنف حقلًاpublic GameState stateيبدأ بقيمةPlaying. - أضف
using UnityEngine.UI;وusing UnityEngine.SceneManagement;وpublic GameObject gameOverPanel;وpublic Button restartButton;. - تضبط الدالة العامة
GameOver()قيمةstateإلىGameOver، وتضبطspeedعلى 0، ما يوقف كل العوائق، وتُظهر اللوحة. - لا تفعل
Update()شيئًا إلا إذا كانت الحالةPlaying، لذا تتوقف السرعة والمسافة. - في
Start()، اجعلrestartButtonيعيد تحميل المشهد الجاري.
في Runner: عند دخوله إلى مُشغّل يحمل الوسم Obstacle، استدعِ GameManager.Instance.GameOver(). عندما لا تكون الحالة Playing، لن تفعل الأسهم شيئًا.
في Spawner: لا تُنشئ أي شيء عندما لا تكون الحالة Playing.
اضغط Play، واصطدم، ثم ابدأ جولة جديدة، وبعدها اضغط Check.
جرّب بنفسك
using UnityEngine;
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;
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مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك