ベストタイム
CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 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);
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
本格的なゲームを作るのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド