查看: 3872|回复: 7

[已经解决] 定义了新的全局变量后在游戏中改变了怎么储存?

[复制链接]
梦石
0
星屑
87
在线时间
92 小时
注册时间
2013-8-16
回帖
12
发表于 2016-7-18 11:52:07 | 显示全部楼层 |阅读模式

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

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

×
比如我写一个新的模块
module NengLi
    $WuXing = { # 悟性
    1=>100,
    2=>90,
    3=>80,
    4=>100
    }
end

如果1号角色的悟性在游戏中提高了5,当时游戏中$WuXing[1]的值是变成105了
但是保存后重新打开游戏,$WuXing[1]的值又初始化变成90了
请问如何保存这个值呢?

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2016-7-18 12:22:28 | 显示全部楼层
save_data
load_data

评分

参与人数 1星屑 +50 收起 理由
RaidenInfinity + 50 提供回答

查看全部评分

回复

使用道具 举报

梦石
0
星屑
87
在线时间
92 小时
注册时间
2013-8-16
回帖
12
 楼主| 发表于 2016-7-18 12:39:50 | 显示全部楼层

想请问一下好像在怪物图鉴的范例里,储存敌人辨识度的全局变量好像并没有使用这两个功能,为何也能储存?

点评

你不给个范例地址我怎么知道啊……  发表于 2016-7-18 13:17
回复

使用道具 举报

梦石
0
星屑
87
在线时间
92 小时
注册时间
2013-8-16
回帖
12
 楼主| 发表于 2016-7-19 22:08:06 | 显示全部楼层

{:2_249:}我已经找到方法了,新的全局变量是需要SAVE和LOAD的,如果储存在已有的类里比如$game_party当作实例变量通过方法调用和更改就可以保存了
回复

使用道具 举报

梦石
0
星屑
9160
在线时间
466 小时
注册时间
2015-5-8
回帖
704
发表于 2019-11-29 09:01:20 | 显示全部楼层
il4j 发表于 2016-7-19 22:08
{:2_249:}我已经找到方法了,新的全局变量是需要SAVE和LOAD的,如果储存在已有的类里比如$game_party当作 ...

请问下怎么SAVE和LOAD全局变量呢?可否给个具体例子
回复

使用道具 举报

梦石
0
星屑
735
在线时间
42 小时
注册时间
2019-11-26
回帖
24
发表于 2019-11-29 15:58:55 | 显示全部楼层
taeckle 发表于 2019-11-29 09:01
请问下怎么SAVE和LOAD全局变量呢?可否给个具体例子

以下以$game_defeated_enemies全局变量为例,新开始游戏将自动增加一个全局变量,保存时将该全局变量保存到存档中,读取时也从存档中读取。

  1. module DataManager
  2.   # 开始新游戏时增加$game_defeated_enemies变量
  3.   DataManager.singleton_class.send(:alias_method, :xsrong_create_game_objects, :create_game_objects)
  4.   def self.create_game_objects
  5.     xsrong_create_game_objects
  6.     $game_defeated_enemies = Array.new($data_enemies.length){0}
  7.   end
  8.   
  9.   # 存档时保存$game_defeated_enemies变量
  10.   DataManager.singleton_class.send(:alias_method, :xsrong_make_save_contents, :make_save_contents)
  11.   def self.make_save_contents
  12.     contents = xsrong_make_save_contents
  13.     contents[:defeated_enemies] = $game_defeated_enemies
  14.     contents
  15.   end
  16.   
  17.   # 读档时读取$game_defeated_enemies变量
  18.   DataManager.singleton_class.send(:alias_method, :xsrong_extract_save_contents, :extract_save_contents)
  19.   def self.extract_save_contents(contents)
  20.     xsrong_extract_save_contents(contents)
  21.     $game_defeated_enemies = contents[:defeated_enemies]
  22.   end
  23. end
复制代码
回复

使用道具 举报

梦石
0
星屑
7
在线时间
11 小时
注册时间
2019-12-20
回帖
13
发表于 2019-12-20 22:55:03 | 显示全部楼层
我倒是很想看看这个成品范例
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部