Questions tagged «serialization»

9
如何为C ++游戏创建保存文件?
我正在为视频游戏编程课程的决赛编写代码,我想知道如何为我的游戏创建保存文件,以便用户可以玩,然后稍后再回来。任何想法如何做到的,我之前做过的每件事都是单运行程序。

3
我应该使用文本文件保存数据吗?
我的问题是我是否应该使用文本文件保存游戏数据。我对此有一些基本的担忧: 实际上,没有任何方法可以保护数据,因此,如果用户触摸数据,可能会搞砸一切,而我不希望这种情况发生。 这可能不是存储数据的最有效方法(将会有很多) 我知道如何有效地解析/写入文本文件,因此对于原型制作来说,它们很棒。我只想着眼于未来,我应该考虑切换到什么地方,这样它就不会在开发快要结束时打我。 如果我不应该使用文本文件,应该使用什么?我需要兼容C ++的东西。

8
有什么好的C ++序列化解决方案?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 5年前关闭。 我很好奇游戏开发人员提出了哪些解决方案来序列化他们为游戏处理的不同类型的数据。你们是否使用某些整体式GameObject层次结构,其中包含用于派生类型的序列化接口,使用某种基于RTTI的自定义解决方案,对某些类执行显式流序列化,还是使用某些开源解决方案(boost :: serialization,s11n,等等)。

8
将2D曲线转换为点以进行数据存储
我创建了一种算法,可以将任何曲线(即路径)转换为最小点数,以便将其保存到文件或数据库中。 该方法很简单:它以相等的步长移动三个点,并测量这些点形成的线之间的角度。如果角度大于公差,则会在该点处创建一条新的三次曲线。然后它将线向前移动并再次测量角度… 对于那些知道Android Path类的人-请注意dstPath是一个自定义类,它将点记录到Array中,以便稍后保存点,而srcPath是Regions联合的结果,因此对我没有关键点保存。 问题在于,如下面的代码所示,该圆形看起来并不平滑,该图像是由下面的代码生成的,其中的源路径由一个完美的圆形和矩形组成。我试图更改公差角度和步长,但没有任何帮助。我想知道您是否可以建议对此算法进行任何改进或采用其他方法。 编辑:我现在为使用Android java的用户发布了完整的代码,因此他们可以轻松地尝试和试验。 public class CurveSavePointsActivity extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new CurveView(this)); } class CurveView extends View{ Path srcPath, dstPath; Paint srcPaint = new Paint(Paint.ANTI_ALIAS_FLAG); Paint dstPaint = new Paint(Paint.ANTI_ALIAS_FLAG); public CurveView(Context context) { super(context); srcPaint.setColor(Color.BLACK); srcPaint.setStyle(Style.STROKE); srcPaint.setStrokeWidth(2); srcPaint.setTextSize(20); dstPaint.setColor(Color.BLUE); dstPaint.setStyle(Style.STROKE); dstPaint.setStrokeWidth(2); …

2
如何使字段在检查器中可见(可附加),但无法通过代码访问(类似私有)?
假设我有一个名为buttontype 的变量,Button它当然是System.Serializable。 我希望该变量可以通过检查器分配,所以我做到了public: public class SomeScript : MonoBehaviour{ public Button button; } 这给了我: 现在,我想保持代码的干净和安全(井井有条),这是我需要保留封装的真实原因。 我知道有多种方法可以像在运行时那样检索组件,transform.Find("Some/Genius/TypeUnsafe/Path")或者GameObject.Find("3 seconds scene iteration").GetComponent(...).我想避免这种情况。 如何搭配一个变量private access与它的public access的检查?

3
保存资产时如何处理版本更改?
我已经从事RPG已有一段时间了,我使用了两种不同的序列化技术。 敌人,武器,物品将另存为XML。 映射和事件保存为“受控二进制”(每个类都有一个保存/加载方法,它们决定要保存/加载的内容)。 但是我开始质疑我对地图和事件的选择。我的担忧: 我已经创建了一个地图编辑器,但是我仍然想念仅通过打开文件就能更改一些小东西。 变化太多了。假设我想向一个类中添加一个变量,如果我不再次加载/保存每张地图,它将在稍后中断。 首先要解决的问题是不改变我的技术就很难解决。我曾考虑过改用JSON,但这需要大量工作。我还认为,随处可见的[DataContract]和[DataMember]属性看起来很难看。 这让我有第二个顾虑,我想知道如何处理它?您是否创建了一个循环浏览所有地图并使用新变量重新保存它们的小程序?因为我现在开始获取一些地图,但我仍然手动进行。我每次想做一些更改时都会三思而后行,因为它会带来很多额外的工作。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.