本篇文章小编给大家分享一下Unity静态变量跨场景操作代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
创建两个场景同时赋值StaticVarious 脚本 然后按键好,H ,J 进行不断切换场景,会发现unity 控制台输出数字不断增加,然后把静态去掉,这样结果都是10。
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; public class StaticVarious : MonoBehaviour { static int value = 10; void Start () { Debug.Log(value++); } public void Update() { if (Input.GetKeyDown(KeyCode.H)) { SceneManager.LoadScene("test4"); } if (Input.GetKeyDown(KeyCode.J)) { SceneManager.LoadScene("test3"); } } }
补充:Unity场景间数据传递方法
在游戏开发中,会常用到场景间传递数据的方法(比如关卡选择,过关后自动回到关卡选择界面,以动画方式解锁下一关),
目前研究了三种:
1. 使用DontDestroyOnLoad方法:
(1)在场景A中做个GameObject,身上挂个脚本,在Start方法中写明
DontDestroyOnLoad(gameObject);
这个表示在场景跳转后,不需要Destory这个物体,在下个场景中这个物体依然保留,运行后,在Hierarchy视窗中也会自动生成这样的游戏物体
跳转到场景B中,再从这个游戏物体身上取脚本组件和值
2. 使用PlayerPrefs进行永久存储
这种方式应该会以文件的方式存储在存储器中,
设值
PlayerPrefs.SetInt("CurrentLevel", 10);
读值
PlayerPrefs.GetInt("CurrentLevel")
3.使用static变量
这种方式很不错,自己设计一个class,把要存储并传递的变量做成public static变量,也不需要实例化类,跳转后直接读取就行了
太极熊猫2百度版 安卓版v1.7.1
下载黎明觉醒应用宝版 安卓版v1.111.1
下载暗影格斗3国际版 (Shadow Fight 3)最新版v1.40.3
下载王者战魂华为版 安卓版v3.6.1
下载放置魔法学院免广告版 v2.9.5
放置魔法学院内置Mod菜单是游戏的破解版本,在该版本中为玩家
万乘之国qq版本 安卓版v1.0.5
万乘之国qq版本是一款极具魅力的策略游戏,玩家们可以通过不同
动物餐厅国际服无限内购版 v12.9
动物餐厅国际服免广告版是游戏的破解版本,在该版本中为玩家去除
欧洲卡车司机 安卓版v3.2
欧洲卡车司机是款模拟经营游戏,这款游戏的画面还是蛮逼真的,给
疯狂大酒店 (Grand Hotel Mania)最新中文版v4.10.0.20
疯狂大酒店(Grand Hotel Mania)是一款好玩的