0

我有一个非常大的 JavaScript 对象,用于存储 RPG 对话框,其中包含几个大型顶级对象。该对话框的格式类似于 JSON。

  1. 在组织对话时,我应该将每个顶级类别放在自己的功能中吗?

  2. 或者也许是他们自己单独的 javascript 文件?

  3. 将所有文本保存在一个 javascript ( var json =) 对象中会影响性能吗?

任何组织提示将不胜感激!

4

3 回答 3

1
  1. 您通常应该尽可能地尝试限制耦合。因此,将它们分成单独的函数是有意义的,但请参阅关于数据库的第 3 点。

  2. 如果文件太大而无法轻松管理,您可以将它们分成单独的 javascript 文件。你总是可以有一个构建过程,稍后将它们混合在一起(查看html5 样板以获取有关此技术的更多信息)。

  3. 在这一点上,它可能不会对性能产生太大影响。不过,当您获得更多数据时,我可能会建议将来使用类似mongoDB的东西。看一下流星 js以获得一些灵感。如果你做得对,使用数据库可以简化你的代码。

于 2013-08-21T15:23:47.783 回答
0

解决问题 1,这听起来像 JSONP?稍微不一样。我建议解析的性能差异可以忽略不计,尽管如果使用 JSONP 并将<script/>元素注入 DOM 文件大小成为一个因素,并且将相关数据分组到单独的文件中以便可以有选择地检索它是明智的。

显然,如果不使用 JSONP,在顶层,您可以将对象分离到一个数组或一个键控对象中。

于 2013-08-21T15:27:12.753 回答
0

我在编辑之前看到了你的问题,对我来说这不仅仅是关于 JSON。我理解 meagar 编辑背后的原因,但我不同意。我认为你真的应该跳出技术细节,专注于你的数据什么。您正在 JSON 文件中编写游戏故事。这真的合适或方便吗?我个人不这么认为。我的意思是,如果你到目前为止对这个工作感到满意,当然,把自己搞砸了。我自己,我会使用纯文本文件来保存该对话框(文件中的 1 行 = 1 行对话框,文件名 = NPC 或过场动画的名称)它们更适合讲故事恕我直言。

我的意思是,把对话写成适合写作的东西。JSON 是一种数据交换格式,当然,它是人类可读的。这并不意味着它应该是人工编写的

然后,当你有你的故事时,如果你希望你的游戏以 JSON 形式使用该数据,请为这堆文件编写某种包装器。当然,它看起来需要更多的工作,但我认为它更灵活。好吧,这就是我无论如何都会做的。祝你好运。

于 2013-08-21T15:44:10.733 回答