أفضل جولة
جزء من قسم إنشاء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 33 من 60.
الخطوة الأخيرة في لعبة العَدّاء اللانهائي: تُحفَظ أفضل محاولة في PlayerPrefs، كما كانت النتيجة الأعلى، لتبقى محفوظة عند إعادة المحاولة والخروج من اللعبة.
التحدي
متوسطاحفظ أفضل محاولة باستخدام المفتاح BestRun.
- أضف
private int best;. فيStart()، حمّله باستخدامPlayerPrefs.GetInt("BestRun", 0)واعرض"Best: " + best + " m"فيbestText. - في نهاية
GameOver()، عندما تتجاوزMathf.FloorToInt(distance)قيمةbest، احفظها واعرضها واستدعِnewBestText.SetActive(true);.
اضغط على «العب»، وسجّل أفضل نتيجة، ثم تجاوزها: ستظهر رسالة «أفضل نتيجة جديدة!». ثم اضغط على «تحقق».
جرّب بنفسك
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;
public TMP_Text bestText;
public GameObject newBestText;
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مشروع: عدّاء لا نهاية له
ثلاثة مساراتعقبات أمامكتدرّب بنفسك: Playground لـ Unity