C# [持久保存和加载]
Posted
技术标签:
【中文标题】C# [持久保存和加载]【英文标题】:C# [Persistent Saving and Loading] 【发布时间】:2014-10-19 22:09:14 【问题描述】:好的,所以基本上我有一个小问题,我正在尝试解决这个问题。我正在使用一个名为 GameControl 的游戏对象,它是从 Unity 教程的人那里学到的。我想做的是能够在加载选项后对其进行编辑。我可以让他们保存和加载就好了。我不得不为单人和多人模式切换不同的选项,因为它们有不同的保存和加载数据。现在,当我保存/加载这些数据时。我在加载后无法让它们编辑,因为它似乎在不断加载保存的数据,所以如果我要进行更改,它会变回保存的数据。
When I was just following along, I had this when the options were both the same and I used:
void Start()
GameControl.control.Load();
这似乎工作得很好,但现在我有两个不同的加载文件 SP 选项和 MP 选项。而且我只是不知道将这些文件放在哪里,我想也许在我的切换操作中,当我单击单人游戏或单击加载多人游戏时,我可以加载它。但这是我遇到连续加载问题的地方。当我去编辑窗口中的选项时,它会恢复,请帮助我了解将这些负载放在哪里。我不想有加载按钮,我不喜欢这样的想法,我希望它是自动加载,当您单击单人游戏时(获取单人游戏加载文件);和多人游戏(获取多人游戏加载文件)。
void OnGUI()
GUI.skin=mainSkin;
menuSelection=GUI.SelectionGrid(new Rect(Screen.width*.025f,Screen.height*.025f,buttonW,buttonH), menuSelection, button, 1);
switch(menuSelection)
default:
break;
case 0:
windowRect=GUI.Window(0,windowRect,SPOptionsWindow,"Singleplayer Options (Pre-Game)");
break;
case 1:
windowRect=GUI.Window(1,windowRect,MPOptionsWindow,"Multiplayer Options (Pre-Game)");
break;
case 2:
LeaderboardsWindow();
break;
这是我加载加载文件的地方;但是我不确定这是应该在哪里,除非有更多的代码使它在第一次加载后停止运行。我也尝试将它加载到 SPOptionsWindow();和 MPOptionsWindow();但我得到了相同的结果。
【问题讨论】:
【参考方案1】:啊啊啊,好久不见!所以基本上我纠正这个问题的方法是在 GameControl.cs 文件中添加更多代码。尽管有些功能并不相同,但我所要做的只是用不同的命名约定重新创建相同的类型。更多代码,但它绝对有效。不过暂时。但是,从长远来看,我不确定这是否是我希望拥有的确切解决方案。
可能会出现问题: • 实际发生的选项将需要更多代码来实现。 •也许我无法实现更多代码,但我必须将它改回原来的样子?
这些在我到达那座桥之前我真的不知道,但是,它现在是一个修复,如果有任何其他答案,请把你的想法扔在那里:)
【讨论】:
以上是关于C# [持久保存和加载]的主要内容,如果未能解决你的问题,请参考以下文章
如何更好地在 c# (asp.net) 和 SQL Server 上保存和加载图片?