最近遇到一个如何跨场景不销毁一个我想要的物体,通过这个物体来保存我所需要持续用到的脚本或者脚本中的数据内容,亦或者是这个物体本身的问题。
自己本来有几种办法的(通过写入text文本保存起来,然后判断text文本的内容),只是觉得我的这个方法能实现但是太麻烦了。所以就在百度上看了一下,发现确实有更简便的方式。以下是我自己的理解,如果有不对的地方欢迎指正!
注:我的本场景只是拿来测试传递数值的。
方法一:使用DontDestroyOnLoad方法实现跳转场景不销毁物体
在场景中的一个物体上挂载这个脚本,那么被挂载这个脚本的物体在跳转场景的时候就不会被销毁了。这样我所需要传递的数值也就自然的没被销毁/重置了。
运行后是这样的:
方法二:通过使用PlayerPrefs “永久保存”,这个好像是unity内置的一个用来保存数据的类(我网上看到的有些说是应该会以文件的形式存储起来,但具体是不是就不清楚了,不过可以百度一下。应该有大佬知道),可以保存float、int、string三种类型。保存的时候通过set存入,通过get读取。
目前我就只知道这几种方式,如果有什么好的建议可以告诉我。
不过用着感觉还是挺好用的。