スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

UnityでTimeクラスもどきを作る

UnityのTimeクラスはどのクラスからでもフレーム番号や時間を取得できるのがとても便利です。
同じことをしようとしたらどのように実装すればよいか試しに実装してみました。

以下の2つに気を付けて実装してみました。
・シングルトンを使用する
・puclic static変数で値にアクセスさせる

Counter.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 概要
// 毎フレームカウントアップする
// フレーム番号にどのクラスからでもアクセス可能
// シングルトンでこのコンポーネントは1つしかインスタンスが作成できない
public class Counter : MonoBehaviour {
public static Counter instance;
public static int frame = 0;
void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(this);
}
}

void Update () {
frame++;
}
}


useCounter.cs


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class useCounter : MonoBehaviour {
// Update is called once per frame
void Update ()
{
Debug.Log(Counter.frame);
}
}


スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。