Project1

标题: “格斗文章”式存档 [打印本页]

作者: piaoy    时间: 2011-6-5 12:09
标题: “格斗文章”式存档
我想实现一下,像“格斗文章”那样,开始游戏时判断是否有存档,有就自动读取,没有就重新开始。
我自己写了一个,可是有很多问题,
求高人详细讲一下怎么做
作者: get    时间: 2011-6-5 12:22
第一,你可搜索即时存档
第二,格斗章→格斗
作者: 后知后觉    时间: 2011-6-5 13:14
把你写的发出来瞧瞧
作者: piaoy    时间: 2011-6-5 16:21
额。。我用的是事件标题和菜单,
总之做的时候是按二周目的思路做的,
做完可以成功保存和读取,但是出现一系列现象比如角色属性被锁定等、、
作者: piaoy    时间: 2011-6-5 16:43
piaoy 发表于 2011-6-5 16:21
额。。我用的是事件标题和菜单,
总之做的时候是按二周目的思路做的,
做完可以成功保存和读取,但是出现一 ...

写个详细的吧:
测试过程:
测试=》文件夹内无存档文件!
=》新游戏=》选择存档=》
  1.     file = File.open("actor.rxdata", "wb")
  2.     Marshal.dump($game_system, file)
  3.     Marshal.dump($game_switches, file)
  4.     Marshal.dump($game_variables, file)
  5.     Marshal.dump($game_self_switches, file)
  6.     Marshal.dump($game_screen, file)
  7.     Marshal.dump($game_actors, file)
  8.     Marshal.dump($game_party, file)
  9.     Marshal.dump($game_troop, file)
  10.     Marshal.dump($game_map, file)
  11.     Marshal.dump($game_player, file)
  12.     file.close
复制代码
=》返回标题
执行了:
  1.     file = File.open("actor.rxdata", "rb")
  2.     $game_system        = Marshal.load(file)
  3.     $game_switches      = Marshal.load(file)
  4.     $game_variables     = Marshal.load(file)
  5.     $game_self_switches = Marshal.load(file)
  6.     $game_screen        = Marshal.load(file)
  7.     $game_actors        = Marshal.load(file)
  8.     $game_party         = Marshal.load(file)
  9.     $game_troop         = Marshal.load(file)
  10.     $game_map           = Marshal.load(file)
  11.     $game_player        = Marshal.load(file)
  12.     file.close
  13.    # (执行并行事件)
  14.     $game_map.update
  15.     # 切换到地图画面
  16.     $scene = Scene_Map.new
复制代码
=》来到地图
发现所有属性都无法修改了(状态里一直保持包存的数据)
作者: 后知后觉    时间: 2011-6-5 20:05
本帖最后由 后知后觉 于 2011-6-5 20:10 编辑

读取存档后
$game_party 要执行一次 refresh
$game_party.refresh

默认系统的 Scene_Load 里的 read_save_data 最后那句就是
$game_party.refresh  你为何要把他抛弃= =





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