1. ホーム
  2. c#

[解決済み] DontDestroyOnLoadの使用方法について教えてください。

2022-02-01 11:58:47

質問事項

これはおそらく非常に簡単なことなのですが、DontDestroyOnLoad()を使ったことがなく、どうすればいいのかわかりません。スクリプトの中に、別の画面に切り替えたときに保持したい値があり、DontDestroyOnLoad()がそれを助けてくれるというのを見たのですが、私のコードではうまくいかないようなのです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class data_transfer : MonoBehaviour
{
    DontDestroyOnLoad(transform.gameObject);
}

このようなエラーメッセージが表示されるのですが。 Assets\scripts\data_transfer.cs(7,43): error CS1001: Identifier expected 私はこれが比較的簡単であろうと言ったように、私はunityとC#に新しいですので、あなたが助けるためにしたい場合は、ありがとうございます。

どのように解決するのですか?

DontDestroyOnLoad はメソッドです。のように、他のメソッドの中で呼び出せばいいだけです。 Awake または Start たとえば、次のようになります。

public class data_transfer : MonoBehaviour
{
    void Awake()
    {
        DontDestroyOnLoad(transform.gameObject);
    }
}

Awake はUnityによって自動的に呼び出されます。 GameObject はインスタンス化されるので、新しいシーンがロードされたときにオブジェクトが破壊されるのを防ぐことができます。