我正在制作一个2D,自上而下的塞尔达式网络单人RPG ......
我想以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保存为javascript函数中的js文件,这有关系吗?或者它应该存储为.txt
文件然后解析?
谢谢!
答案 0 :(得分:1)
无关紧要,但JSON数据也是JavaScript,因此将其存储为.js
,稍后您可以根据需要向其添加更多与数据相关的函数,顺便提一下您的数据文件已经有getJSON
函数所以将它存储为.txt
另一方面,如果API正在提供此数据,则根本不需要任何扩展名。
答案 1 :(得分:0)
如果您使用的是vanilla 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();
});
将您的数据与逻辑分开。