Project1

标题: 动态开关 [打印本页]

作者: 我不是字母君    时间: 2011-10-8 12:34
标题: 动态开关
本帖最后由 我不是字母君 于 2011-10-8 12:36 编辑
  1. #==============================================================================
  2. # ■ Game_Switches
  3. #------------------------------------------------------------------------------
  4. #  处理开关的类。编入的是类 Array 的外壳。本类的实例请参考
  5. # $game_switches。
  6. #==============================================================================

  7. class Game_Switches
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @data = []
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取开关
  16.   #     switch_id : 开关 ID
  17.   #--------------------------------------------------------------------------
  18.   def [](switch_id)
  19.     name = $data_system.switches[switch_id]
  20.     if name.include? "#"
  21.       s = name.split("#")[1]
  22.       begin
  23.         n = eval(s)
  24.         return n
  25.       rescue
  26.         p s+" Switch Processing Error"
  27.       end
  28.     else
  29.     if switch_id <= 5000 and @data[switch_id] != nil
  30.       return @data[switch_id]
  31.     else
  32.       return false
  33.     end
  34.     end
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 设置开关
  38.   #     switch_id : 开关 ID
  39.   #     value     : ON (true) / OFF (false)
  40.   #--------------------------------------------------------------------------
  41.   def []=(switch_id, value)
  42.     name = $data_system.switches[switch_id] #获取名称
  43.     if name.include? "#"#如果第一个字符是#
  44.       s = name.split("#")[1]
  45.       begin
  46.        s = s + "= #{value}" #生成新的语句
  47.        eval(s) #执行语句
  48.       
  49.       rescue #如果出错
  50.         p s+" Switch Processing Error"#产生提示信息
  51.       end
  52.     else
  53.     if switch_id <= 5000
  54.       @data[switch_id] = value
  55.     end
  56.     end
  57.   end
  58. end
  59. #仿九夜神尊制作
复制代码
模仿九夜神尊的变量版制作。具体用法请参考九夜的帖子http://rpg.blue/thread-211420-1-1.html
纯模仿菜鸟级别作品,管理员要删就删吧!




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