画面にスコアを表示
CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 30/56。
チャレンジ
中級ランナーがどれだけ進んだかを表示しましょう。これまでのレッスンで作ったものはすべてそのままにします。キャンバスの左上には DistanceText があり、シーンでは新しい distanceText フィールドに設定されています。このフィールドは GameManager に追加します。GameManager で次の操作を行います。
using TMPro;、フィールドpublic TMP_Text distanceText;、およびdistanceという名前のfloatを追加します。- 毎フレーム、道路が移動した距離を加算します。道路は1秒あたり
speedメートル移動するので、このフレームではspeed * Time.deltaTimeメートル移動します。 - メートル単位の整数で、小数点以下を切り捨てて
Distance: 44 mのように表示します。
Play を押してメートル数が増えていくのを確認し、次に Check を押します。
自分で試してみよう
using UnityEngine;
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
public float speed = 10f;
public float speedUp = 0.5f;
public float maxSpeed = 20f;
void Awake()
{
Instance = this;
}
void Update()
{
speed = Mathf.Min(speed + speedUp * Time.deltaTime, maxSpeed);
}
}