Project1

标题: 如何判断是否有存档并读取这个存档(事件中) [打印本页]

作者: 47731089    时间: 2012-5-26 19:34
标题: 如何判断是否有存档并读取这个存档(事件中)
最近想给游戏弄一个中断续玩的功能,但不知道该怎么读取一个档案
具体来说了,有直接在地图上存档(1~4号),
有没有办法能够判断目录中是否存在一个存档SAVE(1~4),
并直接读取这个存档?
dsu_plus_rewardpost_czw
作者: end55rpg    时间: 2012-5-26 19:41
本帖最后由 end55rpg 于 2012-5-26 19:42 编辑

for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        $game_variables[0] = i
      end
    end
1号变量就是有的存档的ID了,还要做什么就在3行处添家吧.
直接读取?要写堆东西把,而且万一存档>=2个,该选哪个呢?还是跳进读取存档截面把
作者: 47731089    时间: 2012-5-26 20:23
end55rpg 发表于 2012-5-26 19:41
for i in 0..3
      if FileTest.exist?("Save#{i+1}.rxdata")
        $game_variables[0] = i

(跳进读取存档截面还用提问?,那中断续玩就不行了吧?!需要读取特定编号的,如4号存档...)
作者: end55rpg    时间: 2012-5-26 20:34
真执拗..
先加入:
def read_save_data(id)
file = File.open("Save#{id}.rxdata", "rb")
    # 读取描绘存档文件用的角色数据
    characters = Marshal.load(file)
    # 读取测量游戏时间用画面计数
    Graphics.frame_count = Marshal.load(file)
    # 读取各种游戏对像
    $game_system        = Marshal.load(file)
    $game_switches      = Marshal.load(file)
    $game_variables     = Marshal.load(file)
    $game_self_switches = Marshal.load(file)
    $game_screen        = Marshal.load(file)
    $game_actors        = Marshal.load(file)
    $game_party         = Marshal.load(file)
    $game_troop         = Marshal.load(file)
    $game_map           = Marshal.load(file)
    $game_player        = Marshal.load(file)
    # 魔法编号与保存时有差异的情况下
    # (加入编辑器的编辑过的数据)
    if $game_system.magic_number != $data_system.magic_number
      # 重新装载地图
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    # 刷新同伴成员
    $game_party.refresh
  end


然后read_save_data(4)代替1L那脚本的获取变量那行就行了,,OK???????
作者: 47731089    时间: 2012-5-26 20:50
突然明白了~要把上段加入Interpreter 7,然后read_save_data(4)才可以.




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