Project1

标题: 怎么在退出游戏的时候弹出一下存档窗口? [打印本页]

作者: 凹凸曼73    时间: 2015-12-23 17:18
标题: 怎么在退出游戏的时候弹出一下存档窗口?
本帖最后由 凹凸曼73 于 2015-12-23 17:19 编辑

怎么在退出游戏的时候弹出一下存档窗口?不要自动的存档,给个范例或者脚本,谢谢! (最好不要和联网脚本冲突的)
作者: myownroc    时间: 2015-12-23 21:20
  1. class Scene_Menu
  2.   def update_command
  3.     # 按下 B 键的情况下
  4.     if Input.trigger?(Input::B)
  5.       # 演奏取消 SE
  6.       $game_system.se_play($data_system.cancel_se)
  7.       # 切换的地图画面
  8.       $scene = Scene_Map.new
  9.       return
  10.     end
  11.     # 按下 C 键的情况下
  12.     if Input.trigger?(Input::C)
  13.       # 同伴人数为 0、存档、游戏结束以外的场合
  14.       if $game_party.actors.size == 0 and @command_window.index < 4
  15.         # 演奏冻结 SE
  16.         $game_system.se_play($data_system.buzzer_se)
  17.         return
  18.       end
  19.       # 命令窗口的光标位置分支
  20.       case @command_window.index
  21.       when 0  # 物品
  22.         # 演奏确定 SE
  23.         $game_system.se_play($data_system.decision_se)
  24.         # 切换到物品画面
  25.         $scene = Scene_Item.new
  26.       when 1  # 特技
  27.         # 演奏确定 SE
  28.         $game_system.se_play($data_system.decision_se)
  29.         # 激活状态窗口
  30.         @command_window.active = false
  31.         @status_window.active = true
  32.         @status_window.index = 0
  33.       when 2  # 装备
  34.         # 演奏确定 SE
  35.         $game_system.se_play($data_system.decision_se)
  36.         # 激活状态窗口
  37.         @command_window.active = false
  38.         @status_window.active = true
  39.         @status_window.index = 0
  40.       when 3  # 状态
  41.         # 演奏确定 SE
  42.         $game_system.se_play($data_system.decision_se)
  43.         # 激活状态窗口
  44.         @command_window.active = false
  45.         @status_window.active = true
  46.         @status_window.index = 0
  47.       when 4  # 存档
  48.         # 禁止存档的情况下
  49.         if $game_system.save_disabled
  50.           # 演奏冻结 SE
  51.           $game_system.se_play($data_system.buzzer_se)
  52.           return
  53.         end
  54.         # 演奏确定 SE
  55.         $game_system.se_play($data_system.decision_se)
  56.         # 切换到存档画面
  57.         $scene = Scene_Save.new
  58.       when 5  # 游戏结束
  59.         # 演奏确定 SE
  60.         $game_system.se_play($data_system.decision_se)
  61.         # 切换到游戏结束画面
  62.         $scene = Scene_Save.new
  63.       end
  64.       return
  65.     end
  66.   end
  67. end

  68. class Scene_Save
  69.   def on_decision(filename)
  70.     # 演奏存档 SE
  71.     $game_system.se_play($data_system.save_se)
  72.     # 写入存档数据
  73.     file = File.open(filename, "wb")
  74.     write_save_data(file)
  75.     file.close
  76.     # 如果被事件调用
  77.     if $game_temp.save_calling
  78.       # 清除存档调用标志
  79.       $game_temp.save_calling = false
  80.       # 切换到地图画面
  81.       $scene = Scene_Map.new
  82.       return
  83.     end
  84.     # 演奏确定 SE
  85.     $game_system.se_play($data_system.decision_se)
  86.     # 淡入淡出 BGM、BGS、ME
  87.     Audio.bgm_fade(800)
  88.     Audio.bgs_fade(800)
  89.     Audio.me_fade(800)
  90.     # 退出
  91.     $scene = nil
  92.   end
  93.   def on_cancel
  94.     # 演奏取消 SE
  95.     $game_system.se_play($data_system.cancel_se)
  96.     # 如果被事件调用
  97.     if $game_temp.save_calling
  98.       # 清除存档调用标志
  99.       $game_temp.save_calling = false
  100.       # 切换到地图画面
  101.       $scene = Scene_Map.new
  102.       return
  103.     end
  104.     # 切换到菜单画面
  105.     $scene = Scene_End.new
  106.   end
  107. end
复制代码

作者: cinderelmini    时间: 2015-12-24 14:37
想知道右上和Alt+F4的情况肿么处理………………




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