Project1

标题: 如何判断是否有存档 [打印本页]

作者: 白嫩白嫩的    时间: 2018-10-20 21:25
标题: 如何判断是否有存档
好久没提问了

跪求大佬告知如何判断是否有存档1,如果有的话直接读取存档1,没有的话开新游戏

我从汪汪大大小白机翻那里找的代码,结合坦克君的自动读档代码,没效果,跪求指点

JAVASCRIPT 代码复制
  1. if (!DataManager.isThisGameFile(save(1))) return;
  2.                     //$.toaster({ message : "读取成功!"})
  3.  
  4.                         // Extract data from savegame
  5.                         console.log("Extract save contents");
  6.                         DataManager.createGameObjects();
  7.                         DataManager.extractSaveContents(JsonEx.parse(StorageManager.load(1)));
  8.                         //console.log(LZString.decompressFromBase64(data.savedata));
  9.                         //console.log(JsonEx.parse(LZString.decompressFromBase64(data.savedata)));
  10.  
  11.                         // Move player
  12.                         console.log("Reserve transfer player");
  13.                         $gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y);
  14.                         $gamePlayer.requestMapReload();
  15.  
  16.                         // Initialize map
  17.                         console.log("Goto Scene_Map");
  18.                         $gameSystem.onAfterLoad();
  19.                         Scene_Load.prototype.reloadMapIfUpdated.call(null);
  20.                         SceneManager.goto(Scene_Map);
  21.                         if (SceneManager._scene) {
  22.                                 SceneManager._scene.fadeOutAll();
  23.                         }                                                              
  24.             } else {
  25.                         DataManager.setupNewGame();
  26.             SceneManager.goto(Scene_Map);
  27.                 }
  28.     }

作者: yang1zhi    时间: 2018-10-20 21:49

        if (DataManager.loadGame(this.savefileId())) {
     
作者: 白嫩白嫩的    时间: 2018-10-20 23:44
yang1zhi 发表于 2018-10-20 21:49
if (DataManager.loadGame(this.savefileId())) {

大佬 不行啊,提示 this.savefileId is not a function
作者: Fan723    时间: 2018-10-21 00:08
你用这个试试:
DataManager.isThisGameFile(id)
作者: yang1zhi    时间: 2018-10-21 08:32
白嫩白嫩的 发表于 2018-10-20 23:44
大佬 不行啊,提示 this.savefileId is not a function

当然不行啊this.savefileId是个函数,你在没这个函数的地方用自然不行
他就是个求存档ID的啊,你改成你的就行了
你不是说你要改成1的吗
作者: 白嫩白嫩的    时间: 2018-10-21 17:11
Fan723 发表于 2018-10-21 00:08
你用这个试试:
DataManager.isThisGameFile(id)

可以了,非常感谢,我是个代码盲,之前用事件做东西还算得心应手,但随着欲望的扩大,发现单靠事件根本不行,必须要用代码了,作为初学者拿现成的代码去拼凑都不知道问题出在哪里,真感谢论坛你们这些大神的指点,没有你们,我现在估计都该玩不下去出坑了
作者: 玄羽    时间: 2018-10-21 21:01
本帖最后由 玄羽 于 2018-10-21 21:02 编辑

if (DataManager.isAnySavefileExists()){
        DataManager.loadGame(1);
        this.fadeOutAll();
        SceneManager.goto(Scene_Map);
}
else {
        DataManager.setupNewGame();
        this.fadeOutAll();
        SceneManager.goto(Scene_Map);
}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1