Project1

标题: 如何让存档存入游戏脚本的参数内容? [打印本页]

作者: 美丽晨露    时间: 2013-8-13 23:22
标题: 如何让存档存入游戏脚本的参数内容?
本帖最后由 美丽晨露 于 2013-8-14 21:29 编辑

我的游戏是需要在事件脚本
修改脚本内module内的各种参数值
但是这个参数值是不会保存到存档内的?
请问要怎么让存档支持这个功能?

附上:范例一枚。
如果不懂我将的是什么的话,
请按范例的提示做吧。

Project74.zip (337.75 KB, 下载次数: 35)
作者: myownroc    时间: 2013-8-14 00:16

保存只能将对象写入指定路径的文件中
如果是你自己新建的参数,建议先建立一个对象的类(如默认脚本中的Game_xxx),
然后建立这个类的一个实例(默认脚本中的$game_xxx),将各种参数值导入
用下面的代码应该就能保存了
  1. Marshal.dump($game_xxx,位置)
复制代码
相应的,读取时也要用
  1. $game_xxx = Marshal.load(位置)
复制代码
存档和读取的顺序好象不能错

另外,这玩意儿我还没试过不知道行不行.
作者: yagami    时间: 2013-8-14 00:38
本帖最后由 yagami 于 2013-8-14 00:40 编辑

module RPG 里面各个类的参数确切的成为成员变量 这些东西你修改后 本身就是程序上已经记住了 不需要存档 再生成对象时 对象的某个变量值会按照你修改类的变化而变化
存档的时候 存的是对象 所以说 你修改类的成员变量 或函数 和存档完全没关系
你说在事件脚本里修改类?这完全是不科学的。。。你在事件里只能修改对象的属性
至少我完全没见过 在事件脚本里 class xx 的。。
作者: yagami    时间: 2013-8-14 00:48
我不确定 RUBY有没有 属于类的变量和函数 类似C++里的static修饰的  至少在RM里 所有的单例 都是生成了一个对象的类似 $scene = Scene_Menu.new
然后通过if $scene != self 来销毁对象的 所以说 存档不可能去保存类 肯定是保存对象的 保存对象的话 那你上面的顾忌都是多余的
作者: 美丽晨露    时间: 2013-8-14 18:57
yagami 发表于 2013-8-14 00:48
我不确定 RUBY有没有 属于类的变量和函数 类似C++里的static修饰的  至少在RM里 所有的单例 都是生成了一个 ...

是吗?虽然我不知道自己描述的正不正确。
但是,请看看主楼的范例内的问题怎么解决吧。
作者: yagami    时间: 2013-8-14 19:52


你的要求这样修改就行了 但这不是好习惯 应该在脚本里通过变量或者开关分歧 播放不同的音效
作者: 美丽晨露    时间: 2013-8-14 19:59
yagami 发表于 2013-8-14 19:52
你的要求这样修改就行了 但这不是好习惯 应该在脚本里通过变量或者开关分歧 播放不同的音效 ...

如果是其他的数据也是这样保存就可以了吗?




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