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

Project1

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

[已经解决] 存档存了一次后读取出错怎么回事?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4721
在线时间
387 小时
注册时间
2012-11-8
帖子
276
跳转到指定楼层
1
发表于 2013-5-13 20:34:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 qq634488405 于 2013-5-13 22:38 编辑

代码如下
RUBY 代码复制
  1. def write_save_data(file)
  2.   # 生成描绘存档文件用的角色图形
  3.   characters = []
  4.   for i in 0...$game_party.actors.size
  5.     actor = $game_party.actors[i]
  6.     characters.push([actor.character_name, actor.character_hue])
  7.   end
  8.   # 写入描绘存档文件用的角色数据
  9.   Marshal.dump(characters, file)
  10.   # 写入测量游戏时间用画面计数
  11.   Marshal.dump(Graphics.frame_count, file)
  12.   # 增加 1 次存档次数
  13.   $game_system.save_count += 1
  14.   # 保存魔法编号
  15.   # (将编辑器保存的值以随机值替换)
  16.   $game_system.magic_number = $data_system.magic_number
  17.   # 写入各种游戏对像
  18.   Marshal.dump($game_system, file)
  19.   Marshal.dump($game_switches, file)
  20.   Marshal.dump($game_variables, file)
  21.   Marshal.dump($game_self_switches, file)
  22.   Marshal.dump($game_screen, file)
  23.   Marshal.dump($game_actors, file)
  24.   Marshal.dump($game_party, file)
  25.   Marshal.dump($game_troop, file)
  26.   Marshal.dump($game_map, file)
  27.   Marshal.dump($game_player, file)
  28.   Marshal.dump($xingbie, file)
  29.   Marshal.dump($live, file)
  30. end

其中$xingbie是储存玩家性别的一个变量
$live是储存npc是否存活的一个数组
这是读档的部分代码
RUBY 代码复制
  1. def read_save_data(file)
  2.   # 读取描绘存档文件用的角色数据
  3.   characters = Marshal.load(file)
  4.   # 读取测量游戏时间用画面计数
  5.   Graphics.frame_count = Marshal.load(file)
  6.   # 读取各种游戏对像
  7.   $game_system        = Marshal.load(file)
  8.   $game_switches      = Marshal.load(file)
  9.   $game_variables     = Marshal.load(file)
  10.   $game_self_switches = Marshal.load(file)
  11.   $game_screen        = Marshal.load(file)
  12.   $game_actors        = Marshal.load(file)
  13.   $game_party         = Marshal.load(file)
  14.   $game_troop         = Marshal.load(file)
  15.   $game_map           = Marshal.load(file)
  16.   $game_player        = Marshal.load(file)
  17.   $xingbie             = Marshal.load(file)
  18.   $live               = Marshal.load(file)
  19.   # 魔法编号与保存时有差异的情况下
  20.   # (加入编辑器的编辑过的数据)
  21.   if $game_system.magic_number != $data_system.magic_number
  22.     # 重新装载地图
  23.     $game_map.setup($game_map.map_id)
  24.     $game_player.center($game_player.x, $game_player.y)
  25.   end
  26.   # 刷新同伴成员
  27.   $game_party.refresh

新游戏时,保存存档可以把所有信息保存,但是当读取保存的进度后再次存档时,$live这个数组就无法保存了,存档文件里没有这一数组的信息,这是怎么回事?先谢谢各位了

Lv3.寻梦者

梦石
0
星屑
4721
在线时间
387 小时
注册时间
2012-11-8
帖子
276
2
 楼主| 发表于 2013-5-13 21:54:07 | 只看该作者
再补充一下,第二次存档的时候,我把那个$live数组p出来是没有任何问题的,但是就是不能存进存档里
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4721
在线时间
387 小时
注册时间
2012-11-8
帖子
276
3
 楼主| 发表于 2013-5-13 22:09:45 | 只看该作者
.。。。问题已经解决了。。这段存档时自己写的,没有把原本自带的那段去掉
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2013-5-13 22:12:26 | 只看该作者
这种涉及存读档的问题,最好是把存档文件删了以后再测试
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 02:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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