Project1

标题: 怎样呼叫出读取存档的界面?(最好是脚本) [打印本页]

作者: 起名字好难    时间: 2008-1-21 02:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: 訫﹎森    时间: 2008-1-21 02:53
$scene = Scene_Load.new #读档
$scene = Scene_Save.new #存档 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 心情de对白    时间: 2008-1-21 03:04
在调试画面(F9)中加入存档和读档脚本
  1. #==============================================================================
  2. # ■ Scene_Debug
  3. #------------------------------------------------------------------------------
  4. #  处理调试画面的类。
  5. #==============================================================================

  6. class Scene_Debug
  7. #--------------------------------------------------------------------------
  8. # ● 主处理
  9. #--------------------------------------------------------------------------
  10. def main
  11.    # 生成窗口
  12.    @left_window = Window_DebugLeft.new
  13.    @right_window = Window_DebugRight.new
  14.    @help_window = Window_Base.new(192, 352, 448, 128)
  15.    @help_window.contents = Bitmap.new(406, 96)
  16.    # 还原为上次选择的项目
  17.    @left_window.top_row = $game_temp.debug_top_row
  18.    @left_window.index = $game_temp.debug_index
  19.    @right_window.mode = @left_window.mode
  20.    @right_window.top_id = @left_window.top_id
  21.    # 执行过渡
  22.    Graphics.transition
  23.    # 主循环
  24.    loop do
  25.      # 刷新游戏画面
  26.      Graphics.update
  27.      # 刷新输入情报
  28.      Input.update
  29.      # 刷新画面
  30.      update
  31.      # 如果画面被切换的话就中断循环
  32.      if $scene != self
  33.        break
  34.      end
  35.    end
  36.    # 刷新地图
  37.    $game_map.refresh
  38.    # 装备过渡
  39.    Graphics.freeze
  40.    # 释放窗口
  41.    @left_window.dispose
  42.    @right_window.dispose
  43.    @help_window.dispose
  44. end
  45. #--------------------------------------------------------------------------
  46. # ● 刷新画面
  47. #--------------------------------------------------------------------------
  48. def update
  49.    # 刷新窗口
  50.    @right_window.mode = @left_window.mode
  51.    @right_window.top_id = @left_window.top_id
  52.    @left_window.update
  53.    @right_window.update
  54.    # 记忆选择中的项目
  55.    $game_temp.debug_top_row = @left_window.top_row
  56.    $game_temp.debug_index = @left_window.index
  57.    # 左侧窗口被激活的情况下: 调用 update_left
  58.    if @left_window.active
  59.      update_left
  60.      return
  61.    end
  62.    # 右侧窗口被激活的情况下: 调用 update_right
  63.    if @right_window.active
  64.      update_right
  65.      return
  66.    end
  67. end
  68. #--------------------------------------------------------------------------
  69. # ● 刷新画面 (左侧窗口被激活的情况下)
  70. #--------------------------------------------------------------------------
  71. def update_left
  72.    # 按下 B 键的情况下
  73.    if Input.trigger?(Input::B)
  74.      # 演奏取消 SE
  75.      $game_system.se_play($data_system.cancel_se)
  76.      # 切换到地图画面
  77.      $scene = Scene_Map.new
  78.      return
  79.    end
  80.    #--------------------新加部分---------------------#
  81.    # 按下 X 键的情况下
  82.    if Input.press?(Input::X)
  83.      # 切换到存档画面
  84.      $scene = Scene_Save.new
  85.    end
  86.    # 按下 Y 键的情况下
  87.    if Input.press?(Input::Y)
  88.      # 切换到读档画面
  89.      $scene = Scene_Load.new
  90.    end
  91.    #--------------------新加部分---------------------#
  92.    # 按下 C 键的情况下
  93.    if Input.trigger?(Input::C)
  94.      # 演奏确定 SE
  95.      $game_system.se_play($data_system.decision_se)
  96.      # 显示帮助
  97.      if @left_window.mode == 0
  98.        text1 = "C (Enter) : ON / OFF"
  99.        @help_window.contents.draw_text(4, 0, 406, 32, text1)
  100.      else
  101.        text1 = "← : -1   → : +1"
  102.        text2 = "L (Pageup) : -10"
  103.        text3 = "R (Pagedown) : +10"
  104.        @help_window.contents.draw_text(4, 0, 406, 32, text1)
  105.        @help_window.contents.draw_text(4, 32, 406, 32, text2)
  106.        @help_window.contents.draw_text(4, 64, 406, 32, text3)
  107.      end
  108.      # 激活右侧窗口
  109.      @left_window.active = false
  110.      @right_window.active = true
  111.      @right_window.index = 0
  112.      return
  113.    end
  114. end
  115. #--------------------------------------------------------------------------
  116. # ● 刷新画面 (右侧窗口被激活的情况下)
  117. #--------------------------------------------------------------------------
  118. def update_right
  119.    # 按下 B 键的情况下
  120.    if Input.trigger?(Input::B)
  121.      # 演奏取消 SE
  122.      $game_system.se_play($data_system.cancel_se)
  123.      # 激活左侧窗口
  124.      @left_window.active = true
  125.      @right_window.active = false
  126.      @right_window.index = -1
  127.      # 删除帮助
  128.      @help_window.contents.clear
  129.      return
  130.    end
  131.    # 获取被选择的开关 / 变量的 ID
  132.    current_id = @right_window.top_id + @right_window.index
  133.    # 开关的情况下
  134.    if @right_window.mode == 0
  135.      # 按下 C 键的情况下
  136.      if Input.trigger?(Input::C)
  137.        # 演奏确定 SE
  138.        $game_system.se_play($data_system.decision_se)
  139.        # 逆转 ON / OFF 状态
  140.        $game_switches[current_id] = (not $game_switches[current_id])
  141.        @right_window.refresh
  142.        return
  143.      end
  144.    end
  145.    # 变量的情况下
  146.    if @right_window.mode == 1
  147.      # 按下右键的情况下
  148.      if Input.repeat?(Input::RIGHT)
  149.        # 演奏光标 SE
  150.        $game_system.se_play($data_system.cursor_se)
  151.        # 变量加 1
  152.        $game_variables[current_id] += 1
  153.        # 检查上限
  154.        if $game_variables[current_id] > 99999999
  155.          $game_variables[current_id] = 99999999
  156.        end
  157.        @right_window.refresh
  158.        return
  159.      end
  160.      # 按下左键的情况下
  161.      if Input.repeat?(Input::LEFT)
  162.        # 演奏光标 SE
  163.        $game_system.se_play($data_system.cursor_se)
  164.        # 变量减 1
  165.        $game_variables[current_id] -= 1
  166.        # 检查下限
  167.        if $game_variables[current_id] < -99999999
  168.          $game_variables[current_id] = -99999999
  169.        end
  170.        @right_window.refresh
  171.        return
  172.      end
  173.      # 按下 R 键的情况下
  174.      if Input.repeat?(Input::R)
  175.        # 演奏光标 SE
  176.        $game_system.se_play($data_system.cursor_se)
  177.        # 变量加 10
  178.        $game_variables[current_id] += 10
  179.        # 检查上限
  180.        if $game_variables[current_id] > 99999999
  181.          $game_variables[current_id] = 99999999
  182.        end
  183.        @right_window.refresh
  184.        return
  185.      end
  186.      # 按下 L 键的情况下
  187.      if Input.repeat?(Input::L)
  188.        # 演奏光标 SE
  189.        $game_system.se_play($data_system.cursor_se)
  190.        # 变量减 10
  191.        $game_variables[current_id] -= 10
  192.        # 检查下限
  193.        if $game_variables[current_id] < -99999999
  194.          $game_variables[current_id] = -99999999
  195.        end
  196.        @right_window.refresh
  197.        return
  198.      end
  199.    end
  200. end
  201. end
复制代码

作者: 起名字好难    时间: 2008-1-21 03:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 心情de对白    时间: 2008-1-21 03:24
问题解决了请LZ认可答案结帖!{/hx}谢谢




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