הזמן הטוב ביותר
חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 53 מתוך 56.
אתגר
בינוניהשלב האחרון: כל שלב זוכר את הזמן הטוב ביותר שלך. שמור על כל מה שבנית בשיעורים הקודמים. ב-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);
}
}
כל השיעורים ביחידה בונים משחקים אמיתיים
10פרויקט: משחק פלטפורמה תלת־ממדי
המסלולפלטפורמות נעות