本帖最后由 判约之轮 于 2015-4-16 10:03 编辑
存档相关的脚本:
(经过楼下提醒改写出了兼容性更强的版本,这样如果排序时放在最后面的话,理论上不会和任何其他脚本起冲突了)
#encoding:utf-8 #============================================================================== # ■ DataManager #------------------------------------------------------------------------------ # 数据库和游戏实例的管理器。所有在游戏中使用的全局变量都在这里初始化。 #============================================================================== module DataManager class << self alias_method :create_game_objects_20150416, :create_game_objects #-------------------------------------------------------------------------- # ● 生成各种游戏对象 #-------------------------------------------------------------------------- def create_game_objects create_game_objects_20150416 $step = Hash.new(0) end #-------------------------------------------------------------------------- # ● 生成存档内容 #-------------------------------------------------------------------------- alias_method :make_save_contents_20150416, :make_save_contents def make_save_contents contents = make_save_contents_20150416 contents[:step] = $step contents end #-------------------------------------------------------------------------- # ● 展开存档内容 #-------------------------------------------------------------------------- alias_method :extract_save_contents_20150416, :extract_save_contents def extract_save_contents(contents) extract_save_contents_20150416(contents) $step = contents[:step] end end end
#encoding:utf-8
#==============================================================================
# ■ DataManager
#------------------------------------------------------------------------------
# 数据库和游戏实例的管理器。所有在游戏中使用的全局变量都在这里初始化。
#==============================================================================
module DataManager
class << self
alias_method :create_game_objects_20150416, :create_game_objects
#--------------------------------------------------------------------------
# ● 生成各种游戏对象
#--------------------------------------------------------------------------
def create_game_objects
create_game_objects_20150416
$step = Hash.new(0)
end
#--------------------------------------------------------------------------
# ● 生成存档内容
#--------------------------------------------------------------------------
alias_method :make_save_contents_20150416, :make_save_contents
def make_save_contents
contents = make_save_contents_20150416
contents[:step] = $step
contents
end
#--------------------------------------------------------------------------
# ● 展开存档内容
#--------------------------------------------------------------------------
alias_method :extract_save_contents_20150416, :extract_save_contents
def extract_save_contents(contents)
extract_save_contents_20150416(contents)
$step = contents[:step]
end
end
end
在事件中需要建立的格式:
数组的下标可以自己写,语法请直接参照Ruby的哈希表(其实冒号加英文字符应该也足够用了吧
记得用完一个变量及时用delete删除,以免存档越来越大
PS:不知是否有大触研究出了怎么alias掉self修饰的静态函数的方法?我试了很多次最终还是只能复写掉而无法打补丁- -
|