UI2D项目代码框架-拯救妹妹

本文档展示了Unity游戏中的UI管理系统和音频管理类,包括UI面板的栈管理、音乐和音效的播放控制、音量调节、场景切换以及玩家状态的检测。UIManage类用于管理UI的显示和隐藏,实现栈结构来控制UI层级。SoundManage类则负责音乐和音效的播放,支持音乐的切换、音量控制以及静音设置。同时,文档还包含了具体的UI场景如开始菜单、游戏界面、选项设置和胜利/失败界面的实现。
摘要由CSDN通过智能技术生成
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameRoot : MonoBehaviour
{
    //第一帧的时候跳转到开始场景
    private void Start()
    {
        SceneManager.LoadScene(1);
    }
    
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;

public class UIManage : MonoBehaviour
{
    //UIManage单例
    public static UIManage Instance;
    //存放UI脚本的栈
    public Stack<UIBase> _uiStack=new Stack<UIBase>();
    //存放UI预设体的字典
    private Dictionary<string,GameObject> _uiObject=new Dictionary<string, GameObject>();
    //存UI脚本的字典
    public Dictionary<string,UIBase> uiBases=new Dictionary<string, UIBase>();
    //UI预设体所在文件夹名称
    public string resourcesUiPrefabDir = "UIPre";

    private void Awake()
    {
        //单例
        Instance = this;
        //加载场景不销毁
        DontDestroyOnLoad(gameObject);
    }
    
    /// <summary>
    /// 入栈-显示UI脚本
    /// </summary>
    /// <param name="uiName"></param>
    public void PushUiPanel(string uiName)
    {
        //如果栈里面的数量大于零
        if (_uiStack.Count>0)
        {
            //拿到原来的栈顶元素
            UIBase oldTopUi= _uiStack.Peek();
            //将栈顶的元素暂停
            oldTopUi.DoOnPause();
        }
        //得到新的UI面板
        UIBase newTopUi= GetUiBase(uiName);
        //让新的的UI进入游戏
        newTopUi.DoOnEnter();
        //入栈
        _uiStack.Push(newTopUi);
    }
    /// <summary>
    /// 出栈-弹出UI脚本
    /// </summary>
    public void PopUipanel()
    {
        //如果栈中没元素直接返回
        if (_uiStack.Count==0) return;
        //如果有元素,拿到栈顶的元素
        UIBase oldTopUi = _uiStack.Pop();
        //将栈顶的元素退出
        oldTopUi.DoOnExit();
        //如果栈中的数量大于零
        if (_uiStack.Count>0)
        {
            //如果一个UI出栈以后,下面还有UI,需要将UI状态恢复
            //弹出栈最上面的UI面板
            UIBase newTopUi = _uiStack.Peek();
            //将最上面的面板的UI状态恢复
            newTopUi.DoOnRestart();
        }

    }
    /// <summary>
    /// 根据名字得到UI面板
    /// </summary>
    /// <param name="uiName"></param>
    private UIBase GetUiBase(string uiName)
    {
        //如果脚本字典里包含这个名字
        if (uiBases.ContainsKey(uiName))
        {
            //返回这个ui名字
            return uiBases[uiName];
        }
        //如果预设体字典中不包含该ui面板的预设体
        if (!_uiObject.ContainsKey(uiName))
        {
            //获得这个新ui面板的资源路径
            string uiPath = resourcesUiPrefabDir + "/" + uiName;
            //加载出来这个新的ui面板
            GameObject uiPrefab= Resources.Load<GameObject>(uiPath);
            //如果这个ui面板不为空
            if (uiPrefab!=null)
            {
                //将其存入字典中
                _uiObject[uiName] = uiPrefab;
            }
            else
            {
                //否则返回 
                Debug.Log("没这个资源");
                return null;
            }
        }
        //根据从字典中取出的预设体生成UI面板对象
        GameObject uiObj= Instantiate(_uiObject[uiName]);
        //将要获取的脚本的名字赋给这个UI面板
        uiObj.name = uiName;
        //取当前对象的脚本组件
        UIBase uiBase= uiObj.GetComponent<UIBase>();
        //将脚本存到脚本字典中
        uiBases[uiName] = uiBase;
        //返回这个脚本
        return uiBase;
    }

    /// <summary>
    /// 进行清空
    /// </summary>
    public void Clear()
    {
        _uiStack.Clear();
        uiBases.Clear();
    }
    
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SoundManage : MonoBehaviour
{
    //单例
    public static SoundManage Instance;
    //音乐播放器组件
    private AudioSource _audioSource;
    //显示音乐名字
    public string musicShowName;

    //音乐文件位置
    public string ResourcesMusicDir="Audio";
    //音乐常量
    public const string MUSICMUTE = "MusicMute";
    //音效常量
    public const string AUDIOMUTE = "AudioMute";
    //声音大小常量
    public const string VOLUME = "Volume";
    //音效大小常量
    public const string AUDIOVOLUME = "AudioVolume";

    
    private void Awake()
    {
        Instance = this;
        //场景加载时不销毁
        DontDestroyOnLoad(gameObject);
        //获取Audiosource组件
        _audioSource = GetComponent<AudioSource>();
        //初始设置循环打开
        _audioSource.loop = true;
        //初始位置开局唤醒关闭
        _audioSource.playOnAwake = false;
        //如果存储里面有MusicMute字段
        if (PlayerPrefs.HasKey(MUSICMUTE))
        {
            //音乐是否静音就获取存储字段的bool值
            MusicMute = PlayerPrefs.GetInt(MUSICMUTE)==0?false:true;
        }
        //如果AudioMute这个字段
        if (PlayerPrefs.HasKey(AUDIOMUTE))
        {
            //音效是否静音就获取存储字段的bool值
            AudioMute = PlayerPrefs.GetInt(AUDIOMUTE) ==0?false:true;
        }
        //如果里面有Volume这个字段
        if (PlayerPrefs.HasKey(VOLUME))
        {
            //声音大小就为获取存储这个字段的值
            Volume = PlayerPrefs.GetFloat(VOLUME,Volume);
        }
        //如果里面有AudioVolume这个字段
        if (PlayerPrefs.HasKey(AUDIOVOLUME))
        {
            //音效大小就为这个字段的值
            AudioVolume = PlayerPrefs.GetFloat(AUDIOVOLUME, AudioVolume);
        }
    }

   

    /// <summary>
    /// 播放音乐
    /// </summary>
    /// <param name="musicName"></param>
    public void PlayBgm(string musicName)
    {
        //获取路径字段
        string path = ResourcesMusicDir + "/" + musicName;
        //通过路径加载出来音乐片段
        _audioSource.clip= Resources.Load<AudioClip>(path);
        //显示名字
        musicShowName = musicName;
        //播放音乐
        _audioSource.Play();
    }
    /// <summary>
    /// 停止播放
    /// </summary>
    public void StopBgm()
    {
        //让音乐片段为null
        _audioSource.clip = null;
        //停止播放音乐
        _audioSource.Stop();

    }
    /// <summary>
    /// 音乐是否静音
    /// </summary>
    public bool MusicMute
    {
        get
        {
            return _audioSource.mute;
        }
        set
        {
            _audioSource.mute = value;
        }
    }

    /// <summary>
    /// 音效是否静音
    /// </summary>
    public bool AudioMute
    {
        get;
        set;
    }
    /// <summary>
    /// 音效的音量
    /// </summary>
    public float AudioVolume
    {
        get;
        set;
    }

    /// <summary>
    /// 播放音效
    /// </summary>
    /// <param name="audioName"></param>
    /// <param name="playPoint"></param>
    /// <param name="_audioVolume"></param>
    public void PlayAudio(string audioName,Vector2 playPoint,float _audioVolume)
    {
        _audioVolume = AudioVolume;
        //当静音静音开关打开的时候直接返回不播放音效
        if (AudioMute) return;
        //获取游戏路径
        string path = ResourcesMusicDir + "/" + audioName;
        //加载播放路径获得播放的音乐
        AudioClip ac= Resources.Load<AudioClip>(path);
        //进行播放
        AudioSource.PlayClipAtPoint(ac,playPoint,_audioVolume);
    }
    /// <summary>
    /// 音量
    /// </summary>
    public float Volume
    {
        get
        {
            //返回audiosource的音量值
            return _audioSource.volume;
        }
        set
        {
            //控制audiosource的音量值
            _audioSource.volume = value;
        }
    }

    
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using Random = UnityEngine.Random;

public class UIPlaying : MonoBehaviour
{
    //所有音乐文件的名字
    public string[] AllMusicName;
    //定义按钮
    private Button btn;
    //显示音乐名字
    private Text musicText;
    //播放到的第几个音乐
    private int musicId;
    //音量toggle
    private Toggle _musicToggle;
    //音乐声音大小
    private Slider _musicSlider;
    //女生的坐标
    public Transform girl;
    public Transform player;
    private float a;
    private void Start()
    {
        //获取button组件
        btn =transform.Find("Back").GetComponent<Button>();
        //获取音乐文本组件
        musicText = transform.GetChild(2).GetChild(0).GetComponent<Text>();
        //获取控制音乐音量的滑动条
        _musicSlider = transform.GetChild(2).Find("Slider").GetComponent<Slider>();
        //获取按钮
        _musicToggle = transform.GetChild(2).Find("Toggle").GetComponent<Toggle>();
        //注册点击事件
        _musicToggle.onValueChanged.AddListener(MusicToggleOnChange);
        //根据播放器更改按钮状态
        _musicToggle.isOn = !SoundManage.Instance.MusicMute;
        //给滑动条的值赋给音乐音量
        _musicSlider.value = SoundManage.Instance.Volume;
        //存储音乐
        AllMusicName = new[] {"柳泓泽 - Unstoppable", "柳泓泽 - 漫步人生路", "柳泓泽 - 野狼disco", "柳泓泽 - 不如"};
        //播放bgm
        SoundManage.Instance.PlayBgm(AllMusicName[musicId]);
        //显示音乐名字
        musicText.text = SoundManage.Instance.musicShowName;
        //按钮点击事件
        btn.onClick.AddListener(() =>
        {
            LoadScene();
        });
        
    }

    private void Update()
    {
        a = Vector2.Distance(player.position, girl.position);
        
        //当人物坐标小于-10
        if (PlayerController2D.Instance.rig.position.y< -10)
        {
            //记录人物的坐标
            PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_X,PlayerController2D.Instance.CurrentTf_X-10);
            PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_Y,8);
            //记录人物的力和速度
            if (PlayerController2D.Instance.rig.position.x>25) 
            {
                PlayerPrefs.SetFloat(PlayerController2D.MOVESPEED,PlayerController2D.Instance.moveSpeed);
            }
            else
            {
                PlayerPrefs.SetFloat(PlayerController2D.MOVESPEED,2);
            }
            if (PlayerController2D.Instance.rig.position.x>50)
            {
                PlayerPrefs.SetFloat(PlayerController2D.ADDFORCE,PlayerController2D.Instance.addForce);
            }
            else
            {
                PlayerPrefs.SetFloat(PlayerController2D.ADDFORCE,3200);
            }
           
            
            //播放音效
            SoundManage.Instance.PlayAudio("Audio_boos", new Vector2(PlayerController2D.Instance.transform.position.x,0.5f), 1);
            //激活界面
            UIManage.Instance.PushUiPanel("UILose");
            
        }
        //当人物坐标大于59
        if (a<1)
        {
            //记录人物的坐标
            PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_X,-37f);
            PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_Y,-0.5f);
            //记录人物的力和速度
            PlayerPrefs.SetFloat(PlayerController2D.MOVESPEED,2);
            PlayerPrefs.SetFloat(PlayerController2D.ADDFORCE,3200);
            //播放音效
            SoundManage.Instance.PlayAudio("Audio_congratulations",PlayerController2D.Instance.transform.position,1);
            //激活界面
            Invoke("LoadWin",4);
            
        }
        //调节滑动条的值控制声音音量大小
        SoundManage.Instance.Volume = _musicSlider.value;
    }

    public void LoadWin()
    {
        UIManage.Instance.PushUiPanel("UIWin");
    }
    public void LoadScene()
    {
        //加载场景
        SceneManager.LoadScene(1);
    }
    /// <summary>
    /// 下一首
    /// </summary>
    public void PlayerNextMusic()
    {
        musicId++;
        if (musicId>AllMusicName.Length-1)
        {
            musicId = 0;
        }
        //播放音乐
        SoundManage.Instance.PlayBgm(AllMusicName[musicId]);
        //显示名字
        musicText.text = AllMusicName[musicId];
    }
    /// <summary>
    /// 上一首
    /// </summary>
    public void PlayerLastMusic()
    {
        
        musicId--;
        if (musicId<0)
        {
            musicId = AllMusicName.Length-1;
        }
        //播放音乐
        SoundManage.Instance.PlayBgm(AllMusicName[musicId]);
        //显示名字
        musicText.text = AllMusicName[musicId];
    }
    /// <summary>
    /// 音乐开关
    /// </summary>
    /// <param name="value"></param>
    private void MusicToggleOnChange(bool value)
    {
        SoundManage.Instance.MusicMute = !value;
    }
    public void Quit()
    {
        //退出
        Application.Quit();
    }

    private void OnApplicationQuit()
    {
        Debug.Log("退出游戏");
        //保留当前的设置
        PlayerPrefs.SetInt(SoundManage.MUSICMUTE,SoundManage.Instance.MusicMute?1:0);
        PlayerPrefs.SetInt(SoundManage.AUDIOMUTE,SoundManage.Instance.AudioMute?1:0);
        PlayerPrefs.SetFloat(SoundManage.VOLUME,SoundManage.Instance.Volume);
        PlayerPrefs.SetFloat(SoundManage.AUDIOVOLUME,SoundManage.Instance.AudioVolume);
        PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_X,PlayerController2D.Instance.CurrentTf_X);
        PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_Y,PlayerController2D.Instance.CurrentTf_Y);
        PlayerPrefs.SetFloat(PlayerController2D.MOVESPEED,PlayerController2D.Instance.moveSpeed);
        PlayerPrefs.SetFloat(PlayerController2D.ADDFORCE,PlayerController2D.Instance.addForce);
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIBase : MonoBehaviour
{
    /// <summary>
    /// 进入游戏
    /// </summary>
    public virtual void DoOnEnter()
    {
        
    }
    /// <summary>
    /// 暂停游戏
    /// </summary>
    public virtual void DoOnPause()
    {
        
    }
    /// <summary>
    /// 恢复游戏
    /// </summary>
    public virtual void DoOnRestart()
    {
        
    }
    /// <summary>
    /// 退出游戏
    /// </summary>
    public virtual void DoOnExit()
    {
        
    }
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class UIStart : UIBase
{
    //获取button组件
    private Button btn;
    public override void DoOnEnter()
    {
        gameObject.SetActive(true);
    }

    public override void DoOnPause()
    {
        gameObject.SetActive(false);
    }

    public override void DoOnRestart()
    {
        gameObject.SetActive(true);
        //返回的时候播放bgm5
        SoundManage.Instance.PlayBgm("Audio_bgm_5");
        
    }

    public override void DoOnExit()
    {
        gameObject.SetActive(false);
    }

    private void Start()
    {
        btn = GameObject.Find("StartBtn").GetComponent<Button>();
        //开始的时候播放bgm5
        SoundManage.Instance.PlayBgm("Audio_bgm_5");
        //将其上面加一个主摄像机
        gameObject.GetComponent<Canvas>().worldCamera= Camera.main;
        //按钮点击事件
        btn.onClick.AddListener(() =>
        {
            LoadScene();
        });
    }
    public void LoadScene()
    {
        //离开去下一个场景的时候清空栈的脚本字典
        UIManage.Instance.Clear();
        SceneManager.LoadScene(2);
    }

    /// <summary>
    /// 选项 按钮点击的事件
    /// </summary>
    public void GoToOption()
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,SoundManage.Instance.AudioVolume);
        //显示ui脚本
        UIManage.Instance.PushUiPanel("UIOption");
    }
    /// <summary>
    /// 关于 按钮点击的事件
    /// </summary>
    public void GoToAbout()
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,SoundManage.Instance.AudioVolume);
        //显示ui脚本
        UIManage.Instance.PushUiPanel("UIAbout");
    }
   
}
using UnityEngine;
using UnityEngine.UI;

public class UIOption : UIBase
{
    //音乐声音大小
    private Slider _musicSlider;
    //音量toggle
    private Toggle _musicToggle;
    //音效toggle
    private Toggle _audioToggle;
    //音效声音大小
    private Slider _audioSlider;
    
    

    private void Awake()
    {
        //获取按钮
        _musicToggle = transform.GetChild(0).GetChild(0).Find("Toggle_Music").GetComponent<Toggle>();
        _audioToggle = transform.GetChild(0).GetChild(0).Find("Toggle_Audio").GetComponent<Toggle>();
        //注册点击事件
        _musicToggle.onValueChanged.AddListener(MusicToggleOnChange);
        _audioToggle.onValueChanged.AddListener(AudioToggleOnChange);
        //根据播放器更改按钮状态
        _musicToggle.isOn = !SoundManage.Instance.MusicMute;
        _audioToggle.isOn = !SoundManage.Instance.AudioMute;
    }

    private void Start()
    {
        //获取控制音乐音量的滑动条
        _musicSlider = GameObject.Find("MusicSlider").GetComponent<Slider>();
        //给滑动条的值赋给音乐音量
        _musicSlider.value = SoundManage.Instance.Volume;
        //获取控制音效音量的滑动条
        _audioSlider = GameObject.Find("AudioSlider").GetComponent<Slider>();
        //播放bgm6
        SoundManage.Instance.PlayBgm("Audio_bgm_6");
        //给其添加主摄像机
        gameObject.GetComponent<Canvas>().worldCamera= Camera.main;
    }

    public override void DoOnEnter()
    {
        gameObject.SetActive(true);
    }

    public override void DoOnPause()
    {
        gameObject.SetActive(false);
    }

    public override void DoOnRestart()
    {
        gameObject.SetActive(true);

    }

    public override void DoOnExit()
    {
        gameObject.SetActive(false);

        
    }
    private void Update()
    {
        //调节滑动条的值控制声音音量大小
        SoundManage.Instance.Volume = _musicSlider.value;
        //调节滑动条的值控制音效音量大小
        SoundManage.Instance.AudioVolume = _audioSlider.value;
    }
    
    /// <summary>
    /// 设置界面返回按钮的点击事件
    /// </summary>
    public void GoBack()
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,
            SoundManage.Instance.AudioVolume);
        //返回的时候直接弹出这个界面
        UIManage.Instance.PopUipanel();
    }

    /// <summary>
    /// 音乐开关
    /// </summary>
    /// <param name="value"></param>
    private void MusicToggleOnChange(bool value)
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,SoundManage.Instance.AudioVolume);
        SoundManage.Instance.MusicMute = !value;
    }
    /// <summary>
    /// 音效开关
    /// </summary>
    /// <param name="value"></param>
    private void AudioToggleOnChange(bool value)
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,SoundManage.Instance.AudioVolume);
        SoundManage.Instance.AudioMute = !value;
    }
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UIAbout :UIBase
{
    private void Start()
    {
        //播放bgm8
        SoundManage.Instance.PlayBgm("Audio_bgm_8");
        //给其添加主摄像机
        gameObject.GetComponent<Canvas>().worldCamera= Camera.main;
    }
    public override void DoOnEnter()
    {
        gameObject.SetActive(true);
    }

    public override void DoOnPause()
    {
        gameObject.SetActive(false);
    }

    public override void DoOnRestart()
    {
        gameObject.SetActive(true);

    }

    public override void DoOnExit()
    {
        gameObject.SetActive(false);

    }
    /// <summary>
    /// 设置界面返回按钮的点击事件
    /// </summary>
    public void GoBack()
    {
        //播放音效
        SoundManage.Instance.PlayAudio("Audio_misc_4",transform.position,SoundManage.Instance.AudioVolume);
        //返回的时候直接弹出这个界面
        UIManage.Instance.PopUipanel();
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class UILose :UIBase
{
    public void LoadStart()
    {
        UIManage.Instance.PopUipanel();
        //UIManage.Instance.Clear();
        SceneManager.LoadScene(1);
    }
}

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

public class UIWin:UIBase
{
    public void LoadScene()
    {
        UIManage.Instance.PopUipanel();
        SceneManager.LoadScene(1);
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class QuitGame : MonoBehaviour
{
    public void Quit()
    {
        //退出
        Application.Quit();
    }

    private void OnApplicationQuit()
    {
        //保留当前的设置
        Debug.Log("退出游戏");
        //保留最后音乐是否静音
        PlayerPrefs.SetInt(SoundManage.MUSICMUTE,SoundManage.Instance.MusicMute?1:0);
        //保留最后音效是否静音
        PlayerPrefs.SetInt(SoundManage.AUDIOMUTE,SoundManage.Instance.AudioMute?1:0);
        //保留音量的大小
        PlayerPrefs.SetFloat(SoundManage.VOLUME,SoundManage.Instance.Volume);
        //保留音效的大小
        PlayerPrefs.SetFloat(SoundManage.AUDIOVOLUME,SoundManage.Instance.AudioVolume);
        //保留中途退出最后人物坐标的x值
        PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_X,PlayerController2D.Instance.CurrentTf_X);
        //保留中途退出最后人物坐标的y值
        PlayerPrefs.SetFloat(PlayerController2D.CURRENTTF_Y,PlayerController2D.Instance.CurrentTf_Y);
        //保留人物中途退出最后的速度
        PlayerPrefs.SetFloat(PlayerController2D.MOVESPEED,PlayerController2D.Instance.moveSpeed);
        //保留人物中途退出跳跃的高度
        PlayerPrefs.SetFloat(PlayerController2D.ADDFORCE,PlayerController2D.Instance.addForce);
    }
}
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;

public class ColliderEvents : MonoBehaviour
{
    //事件
    public UnityEvent OnColliderHander;

    public bool HasHead;
    public bool isSave;
    public bool isDie;
    private void OnCollisionEnter2D(Collision2D other)
    { 
        //当标签为Player时,注册事件
        if (!other.gameObject.CompareTag("Player")) return;
        if (HasHead && !PlayerController2D.Instance.isHead)
        {
            return;
        }  
        OnColliderHander.Invoke();
        
        Debug.Log(HasHead+"hashead");
        Debug.Log(PlayerController2D.Instance.isHead+"PlayerController2D.Instance.头");
        Debug.Log(PlayerController2D.Instance.isGround+"PlayerController2D.Instance.地");

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

public class M_SceneManager : MonoBehaviour
{
    public static M_SceneManager instance;

    private void Awake()
    {
        instance = this;
        DontDestroyOnLoad(gameObject);
    }

    private void Start()
    {
       // PlayerController2D.Instance.gameObject.SetActive(false);
            SceneManager.sceneLoaded += SceneManger_SceneLoaded;

    }

    private void SceneManger_SceneLoaded(Scene arg0, LoadSceneMode arg1)
    {
        //if (arg0.name=="UIPlaying")
        //{
            //PlayerController2D.Instance.gameObject.SetActive(true);
        //}
    }


    /// <summary>
    /// 当前脚本不可用是
    /// </summary>
    private void OnDisable()
    {
        SceneManager.sceneLoaded -= SceneManger_SceneLoaded;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值