【发布时间】:2016-04-14 08:42:47
【问题描述】:
所以我想要完成的是,当我加载场景时,我希望某些对象处于活动或非活动状态,具体取决于它们保存在我的文件中的信息。
例如:
在我的游戏中,当我加载我的一个场景时,有一堵墙,然后我将书柜推到某个点并触发墙设置为非活动状态。我退出这个场景,然后回到场景中,墙又是活跃的。我想要的是当墙被设置为非活动状态时,即使我离开场景它也保持非活动状态,并且当我稍后回到场景时不会出现。
我遇到的麻烦是如何做到这一点。目前我所拥有的是当玩家单击“新游戏”按钮时,我会生成一个新的 Game_Info 并选择 Default() :
[Serializable]
public class Game_Info {
public bool WoodWallEnabled;
public void Default(){
WoodWallEnabled = true;
}
}
我的 WoodWall 脚本:
public class Get_WoodWall_Info : MonoBehaviour {
void Awake () {
gameObject.SetActive (Helper_Manager.instance.gameInfo.WoodWallEnabled);
}
}
我有一种感觉,我没有以正确的方式执行此操作,并且有更好的方法来处理此问题,特别是因为这样做需要为每个我想通过我保存的文件操作的游戏对象创建一个唯一的脚本( Get_WoodWall_Info、Get_WoodWall_Info1 等...),但即使我创建了大量脚本来执行此操作,我也找不到保存游戏对象状态的方法。
您将如何处理和传递此类数据?
【问题讨论】:
-
我为您问题的另一部分编辑了我的答案。我很抱歉之前没有注意到那部分。无论如何,希望对您有所帮助。
标签: unity3d