因为盲目的做了一个UE4的项目,没有用到UE4的无缝加载,我只能在一个个关卡中手动切换,然后每次的数据都会重置,这对于项目来说,造成了体验感的极度下降。
然而我查了一下怎样在UE4中创建全局变量,找到在UE4中创建单例类的办法,但是需要使用C++创建很多东西,有点复杂,没有看完,想想时间不多,于是放弃了这种办法,再找新的解决办法,于是我花了更多的时间去找,最后确定使用Save Game能达到我的要求,我也不知道,我是该哭还是该笑。
1.创建一个蓝图,继承自Save Game,命名MySaveGame,并创建一个String类型的变量,取名PlayerName
2.创建两个Map,分别保存为Map01,Map02,。打开Map01的关卡蓝图,创建Save Game,类名选择刚创建的MySaveGame,并设置PlayerName的值,在调用Save Game to Slot,注意这里的Slot Name,这里是获取他的索引名称。保存一下,点击Play运行Map01。
3.打开Map02的关卡蓝图,调用Load Game from Slot,这里的Slot Name就是开始存储的Slot Name,后面将获取的值打印出来。保存,运行Map02,会看见打印出我们开始的设置的变量PlayerName的值。
4.这里的Save Game就类似我们在Unity中使用的PlayerPrefs,似乎还更强大一些。Save Game顾名思义也是保存游戏,他是将我们创建的数据变量,存储到了本地磁盘上,就算你关闭工程,再打开直接运行Map02,他也能读出你存储在里面的数据。