【ハルシオンブログ】いろんなシーンのクラスからアクセスが必要な時にやってること。
こんにちは。
大坂です。
今日はすごくジメジメいしていますね。
Tiwtterのトレンドでも湿度100%とかって上がってました。。
さて、今週もちょっとしたネタです。
ゲームを作っているときに必要な情報を使用していろんなクラスからの処理をしたいときに、
いろんなクラスで毎回GameObjectを探してGetComponentしてってやるのも面倒なので、Staticにアクセスできるようにすると楽だよねってお話です。
とりあえずこんな感じ。
かなり簡略化した例ですけど、アイテムを管理するクラスです。
ショップでアイテム買ったときとかドロップしたアイテムを拾うとか。
違うシーンで使うことを想定している感じです。
使い方はこんな感じ。
簡単に処理を呼び出せますね。
と、こんなクラスを利用してゲームを作ったりしてますよってお話でした。
ではまたノシ
大坂です。
今日はすごくジメジメいしていますね。
Tiwtterのトレンドでも湿度100%とかって上がってました。。
さて、今週もちょっとしたネタです。
ゲームを作っているときに必要な情報を使用していろんなクラスからの処理をしたいときに、
いろんなクラスで毎回GameObjectを探してGetComponentしてってやるのも面倒なので、Staticにアクセスできるようにすると楽だよねってお話です。
とりあえずこんな感じ。
public class ItemManager : MonoBehaviour {
protected static ItemManager instance;
public static ItemManager Instance {
get {
if(instance == null) {
instance = (ItemManager)FindObjectOfType(typeof(ItemManager));
}
return instance;
}
}
void Awake() {
// シーン遷移では破棄させない
DontDestroyOnLoad(gameObject);
}
public void AddItem(ItemData data) {
// アイテムを追加する処理
~~~~~
}
}
かなり簡略化した例ですけど、アイテムを管理するクラスです。
ショップでアイテム買ったときとかドロップしたアイテムを拾うとか。
違うシーンで使うことを想定している感じです。
使い方はこんな感じ。
public class ItemTest : MonoBehaviour {
void Start() {
ItemData data = new ItemData();
// アイテム情報を作る処理は省略
~~~~~
ItemManager.Instance.AddItem(data);
}
}
簡単に処理を呼び出せますね。
と、こんなクラスを利用してゲームを作ったりしてますよってお話でした。
ではまたノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】UnityにてInstantiateしたあとにSetParentしたらサイズがでかいんすけど?え?こうすればいいんじゃない?って話 | 【ハルシオンブログ】UnityのuGUIで、ImageのサイズをTextのサイズと連動したいよねって時のやり方。 »
コメント
| h o m e |