Project1

标题: 如何才能让$变量加入存档不随游戏退出而被清除 [打印本页]

作者: jianyulei    时间: 2019-5-21 22:22
标题: 如何才能让$变量加入存档不随游戏退出而被清除
本帖最后由 jianyulei 于 2019-5-21 22:55 编辑

每次重开游戏所有的自定变量都会被清除,存档只会保存公共变量和实例,但我想问一下有没有办法让这些自定义变量一直被储存在游戏存档中?
作者: KB.Driver    时间: 2019-5-22 00:08
给你一个简单的方法。
在脚本编辑器里,将你要随存档保存的变量设置为$game_system(其他$game对象也是可以的)的成员变量。
打个比方,在Game_System里加一行attr_accessor :my_vars
之后在游戏中就可以用事件脚本$game_system.my_vars来读写这个你要存的变量了。

如果你想存多个,给你提供一个简单的思路。
在游戏运行初将$game_system.my_vars初始化为哈希
$game_system.my_vars = {}
之后所有你要存取的数据,就按照哈希的规则来进行就好。
例如$game_system.my_vars[:var1] = var

作者: jianyulei    时间: 2019-5-22 14:30
KB.Driver 发表于 2019-5-22 00:08
给你一个简单的方法。
在脚本编辑器里,将你要随存档保存的变量设置为$game_system(其他$game对象也是可以 ...

但这样一来其实就和用$game_variables一样呢,之所以不用实例就是因为它们的名字太长了,在一些有文本量限制的地方写不了多少东西,另外我发现这游戏的变量有容量限制,一个变量里存的东西太多了会乱码.
作者: soulsaga    时间: 2019-5-22 15:11
本帖最后由 soulsaga 于 2019-5-22 15:55 编辑
jianyulei 发表于 2019-5-22 14:30
但这样一来其实就和用$game_variables一样呢,之所以不用实例就是因为它们的名字太长了,在一些有文本量限 ...


大大你定义个短命方法返回变量即可..
要用时写这个短名方法调用就可以省很多位置了..
RUBY 代码复制
  1. def v
  2.    return $game_variables
  3. end

作者: cinderelmini    时间: 2019-5-22 15:13
你可以照这个方法在任意一个会被储存的数据类里加个数组或者哈希表变量,
存档时,将你自己的$变量塞进去,读档的时候再读出来就好了,
PS:数组的话你需要记好储存的顺序,在读档的时候按顺序读。




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