Project1

标题: 如何更改“一页”中存档的数量 [打印本页]

作者: 退屈£无聊    时间: 2010-8-5 15:34
标题: 如何更改“一页”中存档的数量
本帖最后由 退屈£无聊 于 2010-8-7 17:54 编辑

如题。。在下的意思是。。。。把原来一页中有4个存档改为3个……
我使用的是无限扩展存档数量的脚本
  1. #==============================================================================
  2. # 本脚本来自www.66rpg.com,转载和使用请保留此信息 #==============================================================================

  3. #==============================================================================
  4. # ■ Scene_File
  5. #------------------------------------------------------------------------------
  6. #  存档画面及读档画面的超级类。
  7. #   脚本优化: SailCat
  8. #==============================================================================

  9. class Scene_File
  10. #--------------------------------------------------------------------------
  11. # ● 常量 (存档页数)
  12. #--------------------------------------------------------------------------
  13. MaxPages = 25
  14. #--------------------------------------------------------------------------
  15. # ● 初始化对像
  16. #     help_text : 帮助窗口显示的字符串
  17. #--------------------------------------------------------------------------
  18. def initialize(help_text)
  19.    @help_text = help_text
  20.    @slots = MaxPages * 4
  21. end
  22. #--------------------------------------------------------------------------
  23. # ● 主处理
  24. #--------------------------------------------------------------------------
  25. def main
  26.    # 生成帮助窗口
  27.    @help_window = Window_Help.new
  28.    @help_window.set_text(@help_text)
  29.    @file_index = $game_temp.last_file_index
  30.    # 生成存档文件窗口
  31.    @savefile_windows = []
  32.    # 选择最后操作的文件
  33.    for i in @file_index / 4 * 4..@file_index / 4 * 4 + 3
  34.      load_window(i)
  35.      @savefile_windows[i].visible = true
  36.    end
  37.    @savefile_windows[@file_index].selected = true
  38.    # 执行过渡
  39.    Graphics.transition
  40.    # 主循环
  41.    loop do
  42.      # 刷新游戏画面
  43.      Graphics.update
  44.      # 刷新输入信息
  45.      Input.update
  46.      # 刷新画面
  47.      update
  48.      # 如果画面被切换的话就中断循环
  49.      if $scene != self
  50.        break
  51.      end
  52.    end
  53.    # 准备过渡
  54.    Graphics.freeze
  55.    # 释放窗口
  56.    @help_window.dispose
  57.    for i in @savefile_windows
  58.      i.dispose
  59.    end
  60. end
  61. #--------------------------------------------------------------------------
  62. # ● 刷新画面
  63. #--------------------------------------------------------------------------
  64. def update
  65.    # 刷新窗口
  66.    @help_window.update
  67.    for i in @savefile_windows
  68.      i.update if i.visible
  69.    end
  70.    # 按下 C 键的情况下
  71.    if Input.trigger?(Input::C)
  72.      # 调用过程 on_decision (定义继承目标)
  73.      on_decision(make_filename(@file_index))
  74.      $game_temp.last_file_index = @file_index
  75.      return
  76.    end
  77.    # 按下 B 键的情况下
  78.    if Input.trigger?(Input::B)
  79.      # 调用过程 on_cancel (定义继承目标)
  80.      on_cancel
  81.      return
  82.    end
  83.    # 按下方向键下的情况下
  84.    if Input.repeat?(Input::DOWN)
  85.      # 演奏光标 SE
  86.      $game_system.se_play($data_system.cursor_se)
  87.      # 光标向下移动
  88.      @savefile_windows[@file_index].selected = false
  89.      @file_index = (@file_index + 1) % @slots
  90.      # 翻到下一页的情况下
  91.      if @file_index % 4 == 0
  92.        for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
  93.          @savefile_windows[(index + @slots - 4) % @slots].visible = false
  94.          load_window(index)
  95.          @savefile_windows[index].visible = true
  96.        end
  97.      end
  98.      @savefile_windows[@file_index].selected = true
  99.      return
  100.    end
  101.    # 按下方向键上的情况下
  102.    if Input.repeat?(Input::UP)
  103.      # 演奏光标 SE
  104.      $game_system.se_play($data_system.cursor_se)
  105.      # 光标向上移动
  106.      @savefile_windows[@file_index].selected = false
  107.      @file_index = (@file_index + @slots - 1) % @slots
  108.      # 翻到上一页的情况下
  109.      if @file_index % 4 == 3
  110.        for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
  111.          @savefile_windows[(index + 4) % @slots].visible = false
  112.          load_window(index)
  113.          @savefile_windows[index].visible = true
  114.        end
  115.      end
  116.      @savefile_windows[@file_index].selected = true
  117.      return
  118.    end
  119.    # 按下方向键左或者 L 的情况下
  120.    if Input.repeat?(Input::LEFT) or Input.trigger?(Input::L)
  121.      # 演奏光标 SE
  122.      $game_system.se_play($data_system.cursor_se)
  123.      # 前翻一页
  124.      @savefile_windows[@file_index].selected = false
  125.      @file_index = (@file_index + @slots - 4) % @slots
  126.      for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
  127.        @savefile_windows[(index + 4) % @slots].visible = false
  128.        load_window(index)
  129.        @savefile_windows[index].visible = true
  130.      end
  131.      @savefile_windows[@file_index].selected = true
  132.      return
  133.    end
  134.    # 按下方向键右或者 R 的情况下
  135.    if Input.repeat?(Input::RIGHT) or Input.trigger?(Input::R)
  136.      # 演奏光标 SE
  137.      $game_system.se_play($data_system.cursor_se)
  138.      # 前翻一页
  139.      @savefile_windows[@file_index].selected = false
  140.      @file_index = (@file_index + 4) % @slots
  141.      for index in @file_index / 4 * 4..@file_index / 4 * 4 + 3
  142.        @savefile_windows[(index + @slots - 4) % @slots].visible = false
  143.        load_window(index)
  144.        @savefile_windows[index].visible = true
  145.      end
  146.      @savefile_windows[@file_index].selected = true
  147.      return
  148.    end
  149. end
  150. #--------------------------------------------------------------------------
  151. # ● 生成文件名
  152. #     file_index : 文件名的索引 (0~n)
  153. #--------------------------------------------------------------------------
  154. def make_filename(file_index)
  155.    return "Save#{file_index + 1}.rxdata"
  156. end
  157. #--------------------------------------------------------------------------
  158. # ● 载入当前页存档
  159. #     避免因存档位过多造成的卡壳现象
  160. #--------------------------------------------------------------------------
  161. def load_window(i)
  162.    if @savefile_windows[i] != nil
  163.      return
  164.    else
  165.      @savefile_windows[i] = Window_SaveFile.new(i, make_filename(i))
  166.    end
  167. end
  168. end

  169. #==============================================================================
  170. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  171. #==============================================================================
复制代码
其它暂无更改。
不知道怎么更改一页中的存档数量?


作者: 退屈£无聊    时间: 2010-8-6 09:27
3小时后可以自顶……
作者: 夜·梦千年    时间: 2010-8-6 09:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: goahead    时间: 2010-8-6 16:32
提示: 作者被禁止或删除 内容自动屏蔽




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