Menu
CoddyTech

הזמן הטוב ביותר

חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 53 מתוך 56.

challenge icon

אתגר

בינוני

השלב האחרון: כל שלב זוכר את הזמן הטוב ביותר שלך. שמור על כל מה שבנית בשיעורים הקודמים. ב-HUD של כל שלב מופיע BestText בפינה הימנית העליונה, והסצנה משייכת אותו לשדה החדש bestText של FinishLine.

ב-FinishLine (הוסף using TMPro;):

  • שדה TMP_Text בשם bestText שה-Inspector מגדיר, ואת זמן הריצה: float שגדל בכל פריים ב-Time.deltaTime.
  • כל שלב שומר את הזמן הטוב ביותר שלו תחת מפתח PlayerPrefs משלו: BestTime_ ושם השלב, למשל BestTime_Level1.
  • ב-Start, הצג את הזמן הטוב ביותר ששמור עבור השלב עם ספרה אחת אחרי הנקודה, בתור Best: 12.4 s, או Best: none אם עדיין אין זמן כזה.
  • כשהשחקן חוצה את קו הסיום, לפני טעינת השלב הבא, שמור את זמן הריצה אם עדיין אין לשלב זמן טוב ביותר או אם זמן הריצה טוב יותר. זמן ריצה איטי יותר לא משנה את הזמן הטוב ביותר.

לחץ על Play וקבע זמן, ואז נסה לשפר אותו, ואז לחץ על Check.

נסו בעצמכם

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);
    }
}

כל השיעורים ביחידה בונים משחקים אמיתיים