ゲーム全般を管理するクラスを作ったり、セーブデータの管理は面倒ですがゲームづくりには必要な作業です。がんばってコーディングしましょう。
管理クラスを作るには?
シンプルなクラス
まずはスクリプトで以下のようなクラスを作ります。staticと宣言すると、メモリ上にはあるのでアクセス可能となるようです。
static public class sTestClass
{
public const int life=1;
public const int attack=2;
public const int defense=3;
}
では、動作確認用に別のスクリプトを作り、そこからデータクラスへアクセスできるか確認してみましょう。
void Start()
{
Debug.Log("dat;" + sTestClass.life);
}
ゲーム管理クラス
スクリプトでGameManagerクラスを作ると自動で歯車アイコンになります。
初期化時(Awake)で、「DontDestroyOnLoad」を設定するとシーンのロードで再初期化されなくなります。すでにある場合は「Destroy」で生成されないようにします。
public class GameManager : MonoBehaviour
{public static GameManager instance = null;
/*------- 初期化 ------*/
//---アウェイク
private void Awake()
{
if(instance == null)
{
instance = this;
DontDestroyOnLoad(this.gameObject);
}
else
{
Destroy(this.gameObject);
}
}}