unity切换场景,物体不销毁

在跳转场景的触发事件中,将背景音乐绑定的对象做成预制体,上面绑定了播放音乐的脚本test1和audioSource组件

test1.cs

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

public class test1 : MonoBehaviour
{
     
    //public static test1 instance;

    private AudioSource source;

    private void Awake()
    {
     
        //instance = this;
        source = transform.GetComponent<AudioSource>();
        source.volume = 0.5f;
        source.Play();
    }
   
}

play脚本随便挂载到一个物体身上,通过按钮触发click方法

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

public class play : MonoBehaviour
{
     
    public GameObject cube;//预制体
    public static bool isHave = false;
    private GameObject clone;
    public void click()
    {
     
        if(!isHave)
        {
     
            clone = GameObject.Instantiate(cube);
            clone.transform.position = Vector3.zero;
            isHave = true;
        }
        DontDestroyOnLoad(clone);
        SceneManager.LoadScene(1);
    }
}


这样就可以让场景0的物体出现在场景1里了,如下:
unity切换场景,物体不销毁_第1张图片
如果你不想要这个物体,只想要对应的脚本,那你可以把那个脚本写成单例就可以访问了

你可能感兴趣的:(unity,unity3d)