Project1

标题: 独立变量[每个事件都有无限个变量]制作方法 [打印本页]

作者: 304475881    时间: 2008-8-10 23:50
标题: 独立变量[每个事件都有无限个变量]制作方法
我是新手说的不好,请多多见谅。
首先打个框架:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
end
然后我们模仿变量的脚本做一下:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id)
    if variable_id <= 5000 and @data[variable_id] != nil
      return @data[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    end
  end
end
继续改良:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    end
  end
end
再改良:
class Game_Dlbl
  def initialize
    @dlbl = []
  end
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  def []=(variable_id, value, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    @blz = @dlbl[sjbh]
    @blz[variable_id] = value
    @dlbl[sjbh] = @blz
  end
end
加上注释:
#==============================================================================
# ■ Game_Dlbl
#------------------------------------------------------------------------------
#  处理独立变量的类。
#==============================================================================

class Game_Dlbl
  #--------------------------------------------------------------------------
  # ● 初始化
  #--------------------------------------------------------------------------
  def initialize
    @dlbl = []
  end
  #--------------------------------------------------------------------------
  # ● 获取变量
  #     variable_id : 变量 ID
  #--------------------------------------------------------------------------
  def [](variable_id, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    if @dlbl[variable_id] != nil
      @blz = @dlbl[sjbh]
      return @blz[variable_id]
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ● 设置变量
  #     variable_id : 变量 ID
  #     value       : 变量的值
  #--------------------------------------------------------------------------
  def []=(variable_id, value, sjbh = "")
    if sjbh == ""
      sjbh = @event_id
    end
    @blz = @dlbl[sjbh]
    @blz[variable_id] = value
    @dlbl[sjbh] = @blz
  end
end
换到标题画面继续改:
新游戏的生成各种游戏对像下面加一条
#修改#
$game_dlbl        = Game_Dlbl
换到存档画面继续改:
写入存档数据的写入各种游戏对像下面加一条
#修改#
Marshal.dump($game_dlbl, file)
换到读档画面继续改:
读取存档数据的读取各种游戏对像下面加一条
#修改#
$game_dlbl        = Marshal.load(file)
脚本搞定了…………
获得:
$game_dlbl[变量编号, 事件编号]
设置:
$game_dlbl[变量编号, 事件编号]后面的跟通用变量的设置方法一样。
搞定了拜拜…………
作者: 做游戏的新手    时间: 2008-8-10 23:59
哇。。喜欢这样靠自己摸索的新手
作者: 030428    时间: 2008-8-11 21:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2009-6-12 08:00
虽然站上也有一个,
不过那个似乎不能用,修复了问题后也不大能用……不知道是不是我不会用…… - -

这个的设置似乎简单点。




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