1

我正在制作一个 2D、自上而下的塞尔达风格网络单人角色扮演游戏……

我想以 JSON 格式存储对话框...

目前我将 json 作为外部 javascript 文件获取。json 存储在 js/json.js 中:

function getJson() {

var json = {
    "people" : 
    [
        {//NPC 1 - rescue dog

etc...

然后我在我的主游戏javascript文件中使用它<script src="js/json.js"></script>......`

var json = getJson();

然后像这样使用它:

Labels[index].text = json.people[index].dialogs.start.texts[0];

如果我将 json 作为 js 文件保存在 javascript 函数中,这有关系吗?还是应该将其存储为.txt文件然后解析?

谢谢!

4

2 回答 2

1

没关系,但 JSON 数据也是 JavaScript,因此将其.js存储getJSON.txt

另一方面,如果 API 正在为这些数据提供服务,则它根本不需要任何扩展。

于 2013-08-20T04:05:35.343 回答
0

如果您使用的是原生 JavaScript,最好以纯 JSON 格式存储数据并通过jQuery.getJSON()XMLHttpRequest检索数据。否则,看起来您正在添加getJson()到全局范围,如果您在其他地方定义了另一个,这可能会导致冲突getJson()

所以你可以拥有一个dialog.json看起来和你现在几乎一样的,只是没有不必要的getJson()功能:

{
    "people" : 
    [
        {//NPC 1 - rescue dog
         ...
        }
    ]
}

如果您选择使用 jQuery:

var dialog;
$.getJSON('json/dialog.json', function(data) {
    dialog = data;
    // Asynchronous success callback.
    // Now dialog contains the parsed contents of dialog.json.
    startGame();
});

将数据与逻辑分开。

于 2013-08-20T04:38:45.640 回答