Project1

标题: 【我又无聊了】GameOver界面选择项 [打印本页]

作者: 夕阳武士    时间: 2012-1-15 13:56
标题: 【我又无聊了】GameOver界面选择项
看图吧。 把下面的代码拿回去替换你的■ Scene_Gameover
有人问我是不是只会写这个,我说是= =

  1. #==============================================================================
  2. # ■ Window_OverEnd
  3. #------------------------------------------------------------------------------
  4. #  GameOver画面中,选择“读取存档/返回标题”的窗口。
  5. #==============================================================================

  6. class Window_OverEnd < Window_Command
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0)
  12.     update_placement
  13.     self.openness = 0
  14.     open
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取窗口的宽度
  18.   #--------------------------------------------------------------------------
  19.   def window_width
  20.     return 160
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 更新窗口的位置
  24.   #--------------------------------------------------------------------------
  25.   def update_placement
  26.     self.x = (Graphics.width - width) / 2
  27.     self.y = (Graphics.height - height) / 2
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 生成指令列表
  31.   #--------------------------------------------------------------------------
  32.   def make_command_list
  33.     add_command(Vocab::to_title, :to_title)  
  34.     add_command("读取存档",   :continue)
  35.   end
  36. end
  37. #==============================================================================
  38. # ■ Scene_Gameover
  39. #------------------------------------------------------------------------------
  40. #  游戏结束画面
  41. #==============================================================================

  42. class Scene_Gameover < Scene_Base
  43.   #--------------------------------------------------------------------------
  44.   # ● 开始处理
  45.   #--------------------------------------------------------------------------
  46.   def start
  47.     super
  48.     play_gameover_music
  49.     fadeout_frozen_graphics
  50.     create_background
  51.     create_command_window
  52.   end
  53.    #--------------------------------------------------------------------------
  54.   # ● 结束前处理
  55.   #--------------------------------------------------------------------------
  56.   def pre_terminate
  57.     super
  58.     close_command_window
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 生成背景
  62.   #--------------------------------------------------------------------------
  63.   def create_background
  64.     super
  65.     @background_sprite.tone.set(0, 0, 0, 128)
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 生成指令窗口
  69.   #--------------------------------------------------------------------------
  70.   def create_command_window
  71.     @command_window = Window_OverEnd.new
  72.     @command_window.set_handler(:to_title,   method(:command_totitle))
  73.     @command_window.set_handler(:continue, method(:command_backto))
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 关闭指令窗口
  77.   #--------------------------------------------------------------------------
  78.   def close_command_window
  79.     @command_window.close
  80.     update until @command_window.close?
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 指令“回到标题”
  84.   #--------------------------------------------------------------------------
  85.   def command_totitle
  86.     close_command_window
  87.     fadeout_all
  88.     SceneManager.goto(Scene_Title)
  89.   end
  90.    #--------------------------------------------------------------------------
  91.   # ● 指令“读取存档”
  92.   #--------------------------------------------------------------------------
  93.   def command_backto
  94.     close_command_window
  95.     SceneManager.call(Scene_Load)
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # ● 结束处理
  99.   #--------------------------------------------------------------------------
  100.   def terminate
  101.     super
  102.     dispose_background
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 执行渐变
  106.   #--------------------------------------------------------------------------
  107.   def perform_transition
  108.     Graphics.transition(fadein_speed)
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 播放游戏结束画面的音乐
  112.   #--------------------------------------------------------------------------
  113.   def play_gameover_music
  114.     RPG::BGM.stop
  115.     RPG::BGS.stop
  116.     $data_system.gameover_me.play
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 冻结画面并淡出
  120.   #--------------------------------------------------------------------------
  121.   def fadeout_frozen_graphics
  122.     Graphics.transition(fadeout_speed)
  123.     Graphics.freeze
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 生成背景
  127.   #--------------------------------------------------------------------------
  128.   def create_background
  129.     @sprite = Sprite.new
  130.     @sprite.bitmap = Cache.system("GameOver")
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 释放背景
  134.   #--------------------------------------------------------------------------
  135.   def dispose_background
  136.     @sprite.bitmap.dispose
  137.     @sprite.dispose
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 获取淡出速度
  141.   #--------------------------------------------------------------------------
  142.   def fadeout_speed
  143.     return 60
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● 获取淡入速度
  147.   #--------------------------------------------------------------------------
  148.   def fadein_speed
  149.     return 120
  150.   end
  151. end
复制代码

作者: www.μ.com    时间: 2012-1-15 14:04
貌似没什么用吧。
我一般都不会玩第二次的...
作者: orzfly    时间: 2012-1-15 14:49
通常情况下一旦看到Gameover就会按F12然后读档 = =
作者: 越前リョーマ    时间: 2012-1-15 15:04
战斗前不自动存档的话就没意义了 - -
作者: 各种压力的猫君    时间: 2012-1-15 16:13


【原创】接关系统 1.2 2011-10-11
http://rpg.blue/thread-211634-1-1.html

我的脚本都是被遗忘的存在啊……

作者: zeldafd    时间: 2012-1-16 07:34
多謝了!对我来说很有用呢(arpg所需)
作者: eve592370698    时间: 2012-2-10 08:53
各种压力的猫君 发表于 2012-1-15 16:13
【原创】接关系统 1.2 2011-10-11
http://rpg.blue/thread-211634-1-1.html

我的Xp求助贴被利用了.
作者: swbxhlh    时间: 2012-6-6 23:29
能不能加一个选项让他继续游戏并且运行某个公共事件。。“转生”这种
作者: DBZ-1    时间: 2012-7-18 13:16
很适合学习啊   收藏以后会有用的
谢谢楼主
作者: zshuser    时间: 2014-2-10 15:52
敢问……那个GameOver的字体怎么设置?虽然很久的帖子了,但是就算被扣经验也想知道答案啊……
作者: qi954299932    时间: 2014-2-11 23:02
楼主吃了进克拉近了啦
作者: time星圣    时间: 2014-2-12 00:13
这个是囧魂那种吗。。。
回转寿司前辈在这部游戏中便用了相同的手法。




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