أفضل جولة
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 32 من 56.
التحدي
متوسطالخطوة الأخيرة: تذكّر أفضل جولة. احتفظ بكل ما أنجزته في الدروس السابقة. تحتوي لوحة الرسم على BestText في أعلى اليمين، وتحتوي اللوحة على NewBestText مخفي (أفضل نتيجة جديدة!)؛ ويضيف المشهد حقلين جديدين إلى GameManager، هما public TMP_Text bestText; وpublic GameObject newBestText;. احفظ أفضل نتيجة تحت المفتاح BestRun، بوحدة الأمتار الكاملة:
- في
Start()، حمّل أفضل نتيجة (0 للاعب الجديد) واعرضها بالشكلBest: 57 m. - في
GameOver()، عندما تتجاوز الأمتار الكاملة للجولة،Mathf.FloorToInt(distance)، أفضل نتيجة، احفظ أفضل نتيجة جديدة واعرضها، وأظهرnewBestText. الجولة الأقصر لا تغيّر شيئًا.
تظل أفضل نتيجة محفوظة عند اختيار «العب مجددًا» وعند إغلاق اللعبة. اضغط Play، وسجّل أفضل نتيجة وحاول تحطيمها، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public enum GameState { Playing, GameOver }
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;
public GameState state = GameState.Playing;
private float distance;
void Awake()
{
Instance = this;
}
void Start()
{
restartButton.onClick.AddListener(Restart);
}
void Update()
{
if (state != GameState.Playing) return;
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
distance += speed * Time.deltaTime;
distanceText.text = "Distance: " + Mathf.FloorToInt(distance) + " m";
}
public void GameOver()
{
state = GameState.GameOver;
speed = 0f;
gameOverPanel.SetActive(true);
}
void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
جميع دروس بناء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارالمنصات المتحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك