我使用 melonJS for Windows8 创建了一个基于 HTML5+JS 的游戏。
但是,如何将玩家的持久游戏数据保存到磁盘文件(最好是 localFolder)中。
我已经阅读了 MSDN 论坛中给出的示例,但没有提到将其保存为 JSON 格式文件……而且我对 Win8 应用程序编程有点陌生。
无论如何,这是我尝试过的(当玩家选择保存时调用此函数):
function meSave() {
//create a var to store the the persisting data during the play
var dataSaved = {
data: {
progress: game.data.progress,
HP: game.data.HP,
MP: game.data.MP,
Level: game.data.Level,
maxHP: game.data.maxHP,
maxMP: game.data.maxMP,
Money: game.data.Money,
currPos: {
x: me.game.getEntityByName('mainPlayer')[0].pos.x,
y: me.game.getEntityByName('mainPlayer')[0].pos.y,
},
currStage: me.levelDirector.getCurrentLevelId(),
}
};
var applicationData = Windows.Storage.ApplicationData.current;
var localFolder = applicationData.localFolder;
var filename = "dataFile.json";
function writeTimestamp() {
localFolder.createFileAsync("dataFile.json",
Windows.Storage.CreationCollisionOption.replaceExisting)
.then(function (file) {
return Windows.Storage.FileIO.writeTextAsync(file,
JSON.stringify(dataSaved));
}).done(function () {
game.savingDone = true;
});
}
}