Javascript RPG:在DB或JSON中存储对话框
我正在创建一个RPG。我最初将NPC对话框存储在JS对象中。我可以按自己的意愿在一个数组中循环浏览冗长的对话框。我还可以使用K:V对存储对象 也就是说,在前端的JSON/JS对象中管理、存储和检索对话框是否更容易/更快Javascript RPG:在DB或JSON中存储对话框,javascript,jquery,mysql,ajax,json,Javascript,Jquery,Mysql,Ajax,Json,我正在创建一个RPG。我最初将NPC对话框存储在JS对象中。我可以按自己的意愿在一个数组中循环浏览冗长的对话框。我还可以使用K:V对存储对象 也就是说,在前端的JSON/JS对象中管理、存储和检索对话框是否更容易/更快 var dialog = { quests : { quest1 : { NPCName: { "Task 1 - Introductions" : {
var dialog = {
quests : {
quest1 : {
NPCName: {
"Task 1 - Introductions" :
{
"dialog" :
[
"I'm Pedro",
"Welcome to my neighborhood",
etc...,
],
"wordBank" :
{
"Hola" : "Hello",
"Como" : "What",
}
或者在数据库中,通过AJAX请求进行检索并像这样解析为JSON
function getData (functionToRun) {
$.getJSON("phpscripts.php", {"_functionToRun" : functionToRun},
function (returned_data) {
var nm = returned_data.task_name,
spn = returned_data.task_spanish,
rsp = returned_data.task_userResponse;
}
);
}
最好的做法是执行第一个代码段中的操作,但通过JSON加载数据,而不是将其嵌入页面中。为每个单独的对话框发送JSON请求会随着加载时间的增加而变得昂贵,而且这是不必要的通信量。我建议将每个JSON请求的整个任务对话框加载到服务器。与什么相比更容易/更快?@cmbasnett与数据库相比。阅读问题,为什么不能两者都读?键/值存储+JSON。为什么存储为JSON比将其嵌入页面/加载更好呢?我假设不需要立即使用所有对话框,因此为了初始页面加载时间,最好只使用第一个任务(或用户所在任务)的对话框加载,然后根据需要加载下一个。通过一次加载一个完整的任务,与服务器的事务更少,而且,不需要再次加载完成的任务。如果有大量用户在玩游戏,那么不必要的带宽使用就会增加。