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

Project1

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

[已经解决] 游戏有些地方不能存档

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
11 小时
注册时间
2011-3-8
帖子
12
跳转到指定楼层
1
发表于 2011-3-23 16:55:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

梦石
0
星屑
50
在线时间
72 小时
注册时间
2010-11-13
帖子
93
2
发表于 2011-3-23 18:11:03 | 只看该作者
  不能存档几率很小,你可能是一下的情况:1.存档的脚本和你添加的其他脚本不兼容,发生了冲突。2.你的存档脚本被你无心的改动了,发生了错误。(也许还有其他的可能吧,这只是我个人见解……)
回复

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5854
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
3
发表于 2011-3-23 19:44:12 | 只看该作者
根据错误类型及内容,估计错误是说Sprite类是没有_dump这方法,
所以在Marshal就不能dump了。

(我的旧计时器版本出现了这样的储存错误,新版则解决了。)

一、我提出以下解决办法:
  • 检查dump的是哪一个变量。
  • 默认存档的223行是$game_player,也就是Game_Player这一个类
  • 就在Game_Player里找出类型是Sprite的实例变量(带"@"的变量,准确来说是attr_的实例)
  • 设法不要让这个类带有Sprite。

二、如果你不知道怎么弄的话,那么我给一个可以放这样错误的脚本(临时而已):

  1. #==============================================================================
  2. # ■ 暂时避免Sprite的储存出错            by 一箭烂
  3. -----------------------------------------------------------------------------
  4. #  虽然暂时能够避免出错,但是会储存不了。
  5. #==============================================================================
  6. class Sprite
  7.   def _dump(limit)
  8.     return "string"
  9.   end
  10.   def self._load(str)
  11.     return "string"
  12.   end
  13. end
复制代码
注意,这样会储存不了Sprite对象的(其实平常也不可以= =会出错)。
(其他的储存都正常)

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
铃仙·优昙华院·因幡 + 200 + 2 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-27 22:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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