我有一些从我的游戏场景运行的脚本,它在我的菜单场景中隐藏了一个gameObject。但是每次游戏关闭并重新打开时,我的菜单场景中的gameObject将重新设置为活动状态。即使通过游戏重新加载,我也希望隐藏的游戏对象保持隐藏状态。这是我目前的代码。
encoded_target_agg = KL.core.Lambda( lambda x: K.sum(x, axis=1), output_shape=(vector_dim,))(encoded_target)
我使用PlayerPrefs在我的项目中保存其他信息,但我不确定如何在这种情况下实现它,任何帮助或建议将不胜感激。
更新2。
使用playerprefs的当前代码,将编译但仍然不保存对象状态。
DontDestroyOnLoad(gameObject);
SceneManager.LoadScene("sceneSelectBeta");
GameObject[] gameObjectArray = GameObject.FindGameObjectsWithTag ("Level2Block");
foreach(GameObject go in gameObjectArray) {
go.SetActive (false);
PlayerPrefs.????? ("?????", ?????);
}
DestroyObject(gameObject);
答案 0 :(得分:1)
您可能希望执行PlayerPrefs.SetInt(go.Name, 0);
之类的操作来回忆它们处于非活动状态(使用0表示false,使用1表示true)。当您加载场景时,在Start
方法中,以相同的方式循环播放,并执行类似
foreach(GameObject go in gameObjectArray) {
bool active = PlayerPrefs.GetInt(go.Name) == 1;
go.SetActive (active);
}
答案 1 :(得分:1)
在下面的人的帮助下,一些灵魂通过谷歌和最终的教程视频搜索 - https://www.youtube.com/watch?v=uw0kZ72zCvE我能够解决问题