设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2429|回复: 18
打印 上一主题 下一主题

[有事请教] 如何判断是否有存档

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3453
在线时间
1159 小时
注册时间
2016-8-9
帖子
2390

开拓者

跳转到指定楼层
1
发表于 2018-10-20 21:25:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
好久没提问了

跪求大佬告知如何判断是否有存档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.     }
酸酸甜甜就④哇噢

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2018-10-20 21:49:08 | 只看该作者

        if (DataManager.loadGame(this.savefileId())) {
     

点评

谢谢大佬,爱您~~~~  发表于 2018-10-20 23:05
是的  发表于 2018-10-20 23:01
谢谢大佬,如果只判断存档1的话是不是括号里写1?  发表于 2018-10-20 21:55

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 谢谢大佬

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3453
在线时间
1159 小时
注册时间
2016-8-9
帖子
2390

开拓者

3
 楼主| 发表于 2018-10-20 23:44:51 | 只看该作者
yang1zhi 发表于 2018-10-20 21:49
if (DataManager.loadGame(this.savefileId())) {

大佬 不行啊,提示 this.savefileId is not a function
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
17849
在线时间
2151 小时
注册时间
2015-7-4
帖子
916
4
发表于 2018-10-21 00:08:06 | 只看该作者
你用这个试试:
DataManager.isThisGameFile(id)

点评

好的 我去试试看 谢谢帅哥~  发表于 2018-10-21 17:03

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

5
发表于 2018-10-21 08:32:57 | 只看该作者
白嫩白嫩的 发表于 2018-10-20 23:44
大佬 不行啊,提示 this.savefileId is not a function

当然不行啊this.savefileId是个函数,你在没这个函数的地方用自然不行
他就是个求存档ID的啊,你改成你的就行了
你不是说你要改成1的吗

点评

不可能啊,我就是用的这个。有存档的时候会读存档,没存档的时候是else  发表于 2018-10-21 17:29
都是提示 this.savefileId is not a function,然后我用楼上帅哥的代码改成(1)可以用了,也谢谢大佬您帮忙啦~~~  发表于 2018-10-21 17:21
改成 if (DataManager.loadGame(1)) { 有提示什么  发表于 2018-10-21 17:06
改成 if (DataManager.loadGame(this.savefileId(1))) { 也不行, 改成 if (DataManager.loadGame(1)) { 还是不行。。。  发表于 2018-10-21 17:02
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3453
在线时间
1159 小时
注册时间
2016-8-9
帖子
2390

开拓者

6
 楼主| 发表于 2018-10-21 17:11:21 | 只看该作者
Fan723 发表于 2018-10-21 00:08
你用这个试试:
DataManager.isThisGameFile(id)

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

点评

握爪握爪~~~  发表于 2018-10-21 19:13
能用就好,我也只是最近在改YEP的存档界面插件,就顺便给你翻了一下。我也是从零开始学JS的,大家互相学习共同进步就是了。  发表于 2018-10-21 18:30
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4074
在线时间
440 小时
注册时间
2015-4-4
帖子
156
7
发表于 2018-10-21 21:01:14 | 只看该作者
本帖最后由 玄羽 于 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);
}

点评

这个代码更棒,我之前用的那个太繁琐了,亲测可用  发表于 2018-10-21 22:43

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-28 00:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表