| 赞 | 22 |
| VIP | |
| 好人卡 | |
| 积分 | 48 |
| 经验 | |
| 最后登录 | 2026-9-27 |
| 在线时间 | 389 小时 |
- 梦石
- 0
- 星屑
- 4756
- 在线时间
- 389 小时
- 注册时间
- 2012-11-8
- 回帖
- 235
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
本帖最后由 qq634488405 于 2013-5-13 22:38 编辑
代码如下[pre lang="ruby" line="1"]def write_save_data(file)
# 生成描绘存档文件用的角色图形
characters = []
for i in 0...$game_party.actors.size
actor = $game_party.actors
characters.push([actor.character_name, actor.character_hue])
end
# 写入描绘存档文件用的角色数据
Marshal.dump(characters, file)
# 写入测量游戏时间用画面计数
Marshal.dump(Graphics.frame_count, file)
# 增加 1 次存档次数
$game_system.save_count += 1
# 保存魔法编号
# (将编辑器保存的值以随机值替换)
$game_system.magic_number = $data_system.magic_number
# 写入各种游戏对像
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)
Marshal.dump($xingbie, file)
Marshal.dump($live, file)
end[/pre]
其中$xingbie是储存玩家性别的一个变量
$live是储存npc是否存活的一个数组
这是读档的部分代码
[pre lang="ruby" line="1"]def read_save_data(file)
# 读取描绘存档文件用的角色数据
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)
$xingbie = Marshal.load(file)
$live = 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[/pre]
新游戏时,保存存档可以把所有信息保存,但是当读取保存的进度后再次存档时,$live这个数组就无法保存了,存档文件里没有这一数组的信息,这是怎么回事?先谢谢各位了 |
|