FC2ブログ
10 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 12

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】Unityでシーンを移動するとオブジェクトが消えちゃうからデータの引き継ぎどうするの!? 

こんにちは!坂内っす!
一気に寒くなってきましたね!
朝のコーヒーがついにホットコーヒーになりました。


さて、Unityの話題です。

シーンを跨いでデータ等を保持したい場合、皆さんどうやってますか?

いちいちPlayerPrefで保存とかしてたら大変ですよね。

クラスにデータを入れて持っていきましょ。

なんでもいいですが、データを引き回すクラスを作成し、コンポーネントとしてオブジェクトにつけておきます。

【DataManager.cs】
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DataManager : MonoBehaviour {

public int intAAA;
public string strAAA;

void Start () {
DontDestroyOnLoad(this);
}

void Update () {

}
}


適当にこんな感じで作ってみました。

こいつを空のオブジェクトにつけます。

肝となるのは

DontDestroyOnLoad(this);

シーンを跨ぐと、すべてのオブジェクトが消えてしまうが、DontDestroyOnLoadがあるオブジェクトは消えません。

これでゲーム中で使うデータをシーン間で共有できます。

注意することは、以下です。
●Aシーンにこのオブジェクトを置いておく。
●Aシーン>Bシーン>Aシーンと遷移。
この時Aシーンの上記DontDestroyOnLoadのあるオブジェクトが複数作られてしまうので、その対応を入れましょう。

気が付いたら同じオブジェクトが複数できてしまいます。

ということで、本日はデータをシーン間で引き継ぐ方法でした!あでゅ~ノシ
スポンサーサイト



Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/444-1aa42b31
この記事にトラックバックする(FC2ブログユーザー)