日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

加载场景不销毁的实现

發布時間:2024/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 加载场景不销毁的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

GameObject a;?

?GameObject.DontDestroyOnLoad(a);

源碼,具體在案例中應用為:

第一段代碼中定義了UserName,而方法中又有許多操作,如果在Update里加入上面的代碼就會在影響下一個場景的操作,所以就必須封裝一下,來解決這個問題!!!

1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.SceneManagement; 5 6 public class S0Script : MonoBehaviour { 7 8 //按下鍵盤q鍵,向持久化里面寫入數據 張三,0 9 //如果這個時候有張三這個key就代表已經有分數就不設置了 或里面的value不是0 10 // Use this for initialization 11 12 public string UserName; 13 void Awake() 14 { 15 16 UserName = "zhangsan"; 17 } 18 19 // Update is called once per frame 20 void Update () { 21 if (Input.GetKeyDown(KeyCode.Q)) 22 { 23 if (PlayerPrefs.HasKey("zhangsan")) 24 { 25 Debug.LogWarning("已經注冊,該操作不會重置分數"); 26 } 27 else 28 { 29 PlayerPrefs.SetInt("zhangsan",0); 30 } 31 } 32 //這里應用到了playerprefs,跟字典類似,是鍵值對組成的(key,value)key唯一,value不唯一

33 if (Input.GetKeyDown(KeyCode.Space)) 34 { 35 //加載場景 36 //index string 37 SceneManager.LoadScene("S1"); 38 } 39 40 } 41 }

?第二段代碼:

public class S0UserInfo : MonoBehaviour {// Use this for initializationprivate string _username; //此處封裝了一下,是可讀取的;public string Username{get { return _username; }}void Start (){_username = GameObject.Find("Manager").GetComponent<S0Script>().UserName;DontDestroyOnLoad(this);}// Update is called once per framevoid Update () {} }

如果在用名字就在其他的腳本引用就好了!

轉載于:https://www.cnblogs.com/Future-Better/p/9829902.html

總結

以上是生活随笔為你收集整理的加载场景不销毁的实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。