FC2ブログ
    11 «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.31.» 01

    ハルシオンシステムの気まま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.jp/tb.php/444-1aa42b31
    この記事にトラックバックする(FC2ブログユーザー)