加载场景不销毁的实现
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
加载场景不销毁的实现相关推荐
- Unity3D专区Unity实现加载场景进度条
using UnityEngine; using System.Collections;public class Scene2 : MonoBehaviour {//异步对象AsyncOperatio ...
- 异步加载场景与异步加载游戏资源
异步加载场景与异步加载游戏资源 Application.LoadLevel 加载关卡 在同步加载游戏场景的时候通常会使用方法Application.LoadLevel 加载关卡. 该方法在执行完App ...
- 【Unity3D 打斗游戏开发】之二 异步加载场景或预加载资源后进入游戏
假设当前场景为A,我们要切换到下一场景B,如果使用正常加载方式,Unity会在切换场景时加载场景B的所有内容(Hierarchy面板内容)到内存中,由于加载场景B是同步执行的,所以当场景B较大时,就会 ...
- Unity 重新加载场景报错:MissingReferenceException
MissingReferenceException: The object of type 'SpawnEnemy' has been destroyed but you are still tryi ...
- Cocos creator加载场景、加载场景回调、预加载场景
注意场景名不要写错,是根据字符串去加载场景的. 同时这也在暗示我们,一个游戏应尽可能地少切换场景~ 官方文档:加载和切换场景 加载场景 加载场景调用如下API: cc.director.loadSce ...
- sceneManager.loadscene加载场景时不会主动去加载场景的依赖包,要手动加载或添加场景到build setting列表中...
sceneManager.loadscene加载场景时不会主动去加载场景的依赖包,要手动加载或添加场景到build setting列表中 假设有一场景1001.unity,,manifest文件如下: ...
- Unity异步加载场景
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Sce ...
- Unity动态加载场景
不用在build setting中设置,使用ab包动态加载场景 1.把场景打成ab包 2.加载ab资源,然后加载场景 demo链接 链接:https://pan.baidu.com/s/1dP9ihT ...
- Unity 异步使用Additive加载场景导致的光照贴图出错的坑及解决办法
Lightmap(光照贴图)是Unity里很常用的一个功能,毕竟移动设备上实时光照不靠谱,要出效果还是得烘焙.但是在使用中发现了几坑的地方,通过自己写了个两个脚本就轻松搞定,这里分享下. 坑1: 异步 ...
最新文章
- scau 2012新生赛 G只有神知道的世界
- 计算上月、下月、上周、下周..日期范围
- 创建ACFS集群文件系统(命令方式)
- 前端人员如何在linux服务器上搭建npm私有库
- Html代码seo优化最佳布局实例讲解
- XCode中的单元测试:编写测试类和方法(内容意译自苹果官方文档)
- 医疗中文问句意图匹配Top3方案ppt
- [转]关于Microsoft.Office.Interop组件接口的调用方法
- centos7 kvm虚拟机安装黑屏
- python斐波那契数列_python3实现斐波那契数列(4种方法)
- 一个段子教你如何认识大数据
- 网课题库接口教程(免费)
- 【笔记】运筹(中)——Rita_Aloha
- PPT插入Excel图标,如果水平翻转做出漂亮逻辑图表?
- 为防止程序员猝死,这家公司想出了一个好办法
- USB TypeC接口和USB PD快充协议,有何区别?
- 联想笔记本加固态后没声音(关于固态那些事)
- linux怎么看go写的程序进程,Linux中查看进程状态信息-Go语言中文社区
- 屏蔽各APP广告方法与广告路径(须Root)
- 督促自己——某客网编程题三道(Java)——字符串、集合、数组