unity初心者がメモしていきます。
MonoBehaviourじゃない、ふつうのクラス
ふつうのクラス作る書き方と呼び出し方。
class
using UnityEngine;
namespace Hoge//←パッケージ的なもの
{
public class Fuga
{
public Fuga()
{
Debug.Log("Unko");
}
public void Hello()
{
Debug.Log("Hello");
}
}
}
class_yobidasu
//インスタンス生成
using Hoge;
Fuga aaa = new Fuga();
クラス継承
「:」でつなぐだけみたい。base でスーパークラス参照。
extend
using UnityEngine;
using System.Collections;
public class Hoge : SuperClazz {
public void Start () {
base.Start();//スーパークラス参照
}
}
オーバーライド
元の関数にはvirtual, 上書き関数はoverride をつける
extend
class Animal {
public virtual void AnimalFunction() {
Debug.Log("アニマルクラスです");
}
}
class Hiyoko : Animal {
public override void AnimalFunction() {
Debug.Log("ひよこクラスです");
}
アクセス修飾子 private,public,protected
関数・変数の前につけるやつ。
- public - どこからでも使える
- private - そのクラスしか使えない
- protected - 子クラスからはつかえる。継承する時つかう
- virtual - オーバーライドする元の関数につける
- abstract - 実体はない、インターフェイス的にベースクラスに定義するものっぽい
Monobihaviorシングルトンの書き方
参考 http://albatrus.com/main/unity/7517
//DataManagerの部分は、シングルトンにするクラス名を指定して下さい。
static public DataManager instance
void Awake ()
{
if (instance == null) {
instance = this;
DontDestroyOnLoad (gameObject);
}
else {
Destroy (gameObject);
}
}
//使うとき
DataManager.instance.score = 100;