我现在正在创建一个RPG并将对话文本存储在JS对象中,如下所示:
var dialog = {
quests : {
Lee : {
"1 - Introductions" :
{
"chinese" :
[
"Hi, I'm Lee.",
"I checked your information, I think we can use you...",
然后按原样访问它:
game.data.NPCdialog = dialog.quests[game.data.currNPC][currTask]["chinese"][0];
我问如何使用require.js动态加载js文件,因为我想在每个级别存储几个npc_dialog文件并根据需要加载它们。我在这里问:
using requireJS to dynamically load js files
两个回复者都提到使用XML或JSON来存储对话文本而不是JS对象,并用AJAX加载它。
为什么以更好的格式存储文本?
答案 0 :(得分:3)
将其存储为JSON或XML并不是更好或更糟。它在您的方案中更容易加载和使用。这是一个更简单的解决方案。
答案 1 :(得分:1)
将它存储在较小的json对象中并使用AJAX加载它们的好处是,该站点将在浏览器中使用更少的资源,您可以在需要时加载所需的数据。如果数据不是太大,那么将它全部加载到javascript对象中将提供更快的访问。
需要注意的一点是,您的javascript对象可能包含脚本,而不仅仅是数据,如果您使用JSON或XML文件,那么它们仅限于数据。