أفضل وقت
جزء من قسم إنشاء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 56 من 60.
الخطوة الأخيرة في لعبة المنصات: أصبح اللاعب الآن يركض ويقفز ويركب ويعود إلى الظهور ويجمع الجواهر وينتقل إلى المستوى التالي، ويحتفظ كل مستوى بأفضل وقت له في PlayerPrefs.
التحدي
متوسطيحتفظ كل مستوى بأفضل وقت له.
- في
FinishLine، أضفusing TMPro;و[SerializeField] private TMP_Text bestText;ووقتًا للجولة يزداد بمقدارTime.deltaTime. - في
Start()، اعرض أفضل وقت محفوظ تحتBestTime_مضافًا إليه اسم المستوى، بالتنسيقBest: 12.4 s، أوBest: none. - عند خط النهاية، احفظ وقت الجولة الأولى أو الأسرع قبل تحميل المستوى.
اضغط «العب»، وسجّل وقتًا ثم حطّمه. بعد ذلك اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
using UnityEngine.SceneManagement;
public class FinishLine : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
if (other.GetComponent<Player>() == null) return;
Scene level = SceneManager.GetActiveScene();
Debug.Log(level.name + " complete!");
int next = level.buildIndex + 1;
if (next >= SceneManager.sceneCountInBuildSettings)
{
next = 0;
}
SceneManager.LoadScene(next);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس إنشاء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارمنصات متحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء لا نهاية له
ثلاثة مساراتعقبات أمامكتدرّب بنفسك: Playground لـ Unity