PlayerPrefs保存setActive状态

时间:2016-08-17 20:22:23

标签: c# unity3d monodevelop unity5 gameobject

我有一些从我的游戏场景运行的脚本,它在我的菜单场景中隐藏了一个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);

2 个答案:

答案 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我能够解决问题