C#

[Unity]スコアがどんどん加算されるギミック

scoreAnimation
得点がどんどん追加されるギミックをコルーチンで。
すぐ忘れそうなのでメモ的に残します。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class AnimatedScoreTest : MonoBehaviour 
{
	public Text scoreText;

	// Use this for initialization
	void Start () 
	{
		StartCoroutine(ScoreAnimation(1000f, 10000f, 2f));
	}
	
	// スコアをアニメーションさせる
	private IEnumerator ScoreAnimation(float startScore, float endScore, float duration)
	{
		// 開始時間
		float startTime = Time.time;

		// 終了時間
		float endTime = startTime + duration;

		do {
			// 現在の時間の割合
			float timeRate = (Time.time - startTime) / duration;

			// 数値を更新
			float updateValue = (float)((endScore - startScore) * timeRate + startScore);

			// テキストの更新
			scoreText.text = updateValue.ToString("f0"); // ("f0" の "0" は、小数点以下の桁数指定)

			// 1フレーム待つ
			yield return null;
			
		} while (Time.time < endTime);

		// 最終的な着地のスコア
		scoreText.text = endScore.ToString();
	}
}

コードは門外漢なので、あくまで参考程度ということで。