Project1

标题: 如何在战斗中继续显示原先即时消息记录? [打印本页]

作者: Goku    时间: 2009-5-17 06:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-5-17 09:29
插入这一段即可,Window_Down 窗口虽然是一个窗口,但是里面的内容却是全局的,所以无论你在哪里分配它的对象,显示的内容都是同步的:
class Scene_Battle
  alias main_old main if !method_defined? :main_old
  def main
    @down_window = Window_Down.new
    main_old
    @down_window.dispose
  end
end

作者: Goku    时间: 2009-5-17 10:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-5-17 10:45
要是读挡后还要显示之前的消息记录,那欢迎语应该早就被刷到上面看不见了吧~
作者: Goku    时间: 2009-5-17 10:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-5-17 10:56
可以,消息在 $a 这个变量中,保存到存档文件就行了,测试的时候先把你以前的存档都删了:
class Scene_Save < Scene_File
  alias write_save_data_old write_save_data if
    !method_defined? :write_save_data_old
  def write_save_data(file)
    write_save_data_old(file)
    Marshal.dump($a, file)
  end
end

class Scene_Load < Scene_File
  alias read_save_data_old read_save_data if
    !method_defined? :read_save_data_old
  def read_save_data(file)
    read_save_data_old(file)
    $a = Marshal.load(file)
  end
  def on_decision(filename)
    # 文件不存在的情况下
    unless FileTest.exist?(filename)
      # 演奏冻结 SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # 演奏读档 SE
    $game_system.se_play($data_system.load_se)
    # 写入存档数据
    file = File.open(filename, "rb")
    read_save_data(file)
    file.close
    # 还原 BGM、BGS
    $game_system.bgm_play($game_system.playing_bgm)
    $game_system.bgs_play($game_system.playing_bgs)
    # 刷新地图 (执行并行事件)
    # $a = {}
    $game_map.update
    # 切换到地图画面
    $scene = Scene_Map.new
  end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: Goku    时间: 2009-5-17 11:15
提示: 作者被禁止或删除 内容自动屏蔽




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