Project1

标题: 关于读取进度#### [打印本页]

作者: 飛出※自我〓    时间: 2008-3-15 21:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiarongshan    时间: 2008-3-15 21:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: 水迭澜    时间: 2008-3-15 21:14
读取进度本来就是返回标题画面的阿
作者: IamI    时间: 2008-3-15 21:17
  1. #==============================================================================
  2. # ■ Scene_Load
  3. #------------------------------------------------------------------------------
  4. #  处理读档画面的类。
  5. #==============================================================================

  6. class Scene_Load2 < Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     # 再生成临时对像
  12.     $game_temp = Game_Temp.new
  13.     # 选择存档时间最新的文件
  14.     $game_temp.last_file_index = 0
  15.     latest_time = Time.at(0)
  16.     for i in 0..3
  17.       filename = make_filename(i)
  18.       if FileTest.exist?(filename)
  19.         file = File.open(filename, "r")
  20.         if file.mtime > latest_time
  21.           latest_time = file.mtime
  22.           $game_temp.last_file_index = i
  23.         end
  24.         file.close
  25.       end
  26.     end
  27.     super("要载入哪个文件?")
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 确定时的处理
  31.   #--------------------------------------------------------------------------
  32.   def on_decision(filename)
  33.     # 文件不存在的情况下
  34.     unless FileTest.exist?(filename)
  35.       # 演奏冻结 SE
  36.       $game_system.se_play($data_system.buzzer_se)
  37.       return
  38.     end
  39.     # 演奏读档 SE
  40.     $game_system.se_play($data_system.load_se)
  41.     # 写入存档数据
  42.     file = File.open(filename, "rb")
  43.     read_save_data(file)
  44.     file.close
  45.     # 还原 BGM、BGS
  46.     $game_system.bgm_play($game_system.playing_bgm)
  47.     $game_system.bgs_play($game_system.playing_bgs)
  48.     # 刷新地图 (执行并行事件)
  49.     $game_map.update
  50.     # 切换到地图画面
  51.     $scene = Scene_Map.new
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 取消时的处理
  55.   #--------------------------------------------------------------------------
  56.   def on_cancel
  57.     # 演奏取消 SE
  58.     $game_system.se_play($data_system.cancel_se)
  59.     # 切换到标题画面
  60.     $scene = Scene_Map.new
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 读取存档数据
  64.   #     file : 读取用文件对像 (已经打开)
  65.   #--------------------------------------------------------------------------
  66.   def read_save_data(file)
  67.     # 读取描绘存档文件用的角色数据
  68.     characters = Marshal.load(file)
  69.     # 读取测量游戏时间用画面计数
  70.     Graphics.frame_count = Marshal.load(file)
  71.     # 读取各种游戏对像
  72.     $game_system        = Marshal.load(file)
  73.     $game_switches      = Marshal.load(file)
  74.     $game_variables     = Marshal.load(file)
  75.     $game_self_switches = Marshal.load(file)
  76.     $game_screen        = Marshal.load(file)
  77.     $game_actors        = Marshal.load(file)
  78.     $game_party         = Marshal.load(file)
  79.     $game_troop         = Marshal.load(file)
  80.     $game_map           = Marshal.load(file)
  81.     $game_player        = Marshal.load(file)
  82.     # 魔法编号与保存时有差异的情况下
  83.     # (加入编辑器的编辑过的数据)
  84.     if $game_system.magic_number != $data_system.magic_number
  85.       # 重新装载地图
  86.       $game_map.setup($game_map.map_id)
  87.       $game_player.center($game_player.x, $game_player.y)
  88.     end
  89.     # 刷新同伴成员
  90.     $game_party.refresh
  91.   end
  92. end
复制代码

然后改成$Scene = Scene_Load2.new [LINE]1,#dddddd[/LINE]版主对此帖的认可:『加分』,积分『+350』。
作者: 劍之飛龍☆    时间: 2008-3-15 21:20
LZ是在事件中调用读取画面的,原先默认的就是返回标题画面,所以,在MAIN前插入此脚本:
  1. #==============================================================================
  2. # ■ Scene_Load
  3. #------------------------------------------------------------------------------
  4. #  处理读档画面的类。
  5. #==============================================================================

  6. class Scene_Load2 < Scene_File
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     # 再生成临时对像
  12.     $game_temp = Game_Temp.new
  13.     # 选择存档时间最新的文件
  14.     $game_temp.last_file_index = 0
  15.     latest_time = Time.at(0)
  16.     for i in 0..3
  17.       filename = make_filename(i)
  18.       if FileTest.exist?(filename)
  19.         file = File.open(filename, "r")
  20.         if file.mtime > latest_time
  21.           latest_time = file.mtime
  22.           $game_temp.last_file_index = i
  23.         end
  24.         file.close
  25.       end
  26.     end
  27.     super("要载入哪个文件?")
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 确定时的处理
  31.   #--------------------------------------------------------------------------
  32.   def on_decision(filename)
  33.     # 文件不存在的情况下
  34.     unless FileTest.exist?(filename)
  35.       # 演奏冻结 SE
  36.       $game_system.se_play($data_system.buzzer_se)
  37.       return
  38.     end
  39.     # 演奏读档 SE
  40.     $game_system.se_play($data_system.load_se)
  41.     # 写入存档数据
  42.     file = File.open(filename, "rb")
  43.     read_save_data(file)
  44.     file.close
  45.     # 还原 BGM、BGS
  46.     $game_system.bgm_play($game_system.playing_bgm)
  47.     $game_system.bgs_play($game_system.playing_bgs)
  48.     # 刷新地图 (执行并行事件)
  49.     $game_map.update
  50.     # 切换到地图画面
  51.     $scene = Scene_Map.new
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 取消时的处理
  55.   #--------------------------------------------------------------------------
  56.   def on_cancel
  57.     # 演奏取消 SE
  58.     $game_system.se_play($data_system.cancel_se)
  59.     # 切换到标题画面
  60.     $scene = Scene_Map.new
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 读取存档数据
  64.   #     file : 读取用文件对像 (已经打开)
  65.   #--------------------------------------------------------------------------
  66.   def read_save_data(file)
  67.     # 读取描绘存档文件用的角色数据
  68.     characters = Marshal.load(file)
  69.     # 读取测量游戏时间用画面计数
  70.     Graphics.frame_count = Marshal.load(file)
  71.     # 读取各种游戏对像
  72.     $game_system        = Marshal.load(file)
  73.     $game_switches      = Marshal.load(file)
  74.     $game_variables     = Marshal.load(file)
  75.     $game_self_switches = Marshal.load(file)
  76.     $game_screen        = Marshal.load(file)
  77.     $game_actors        = Marshal.load(file)
  78.     $game_party         = Marshal.load(file)
  79.     $game_troop         = Marshal.load(file)
  80.     $game_map           = Marshal.load(file)
  81.     $game_player        = Marshal.load(file)
  82.     # 魔法编号与保存时有差异的情况下
  83.     # (加入编辑器的编辑过的数据)
  84.     if $game_system.magic_number != $data_system.magic_number
  85.       # 重新装载地图
  86.       $game_map.setup($game_map.map_id)
  87.       $game_player.center($game_player.x, $game_player.y)
  88.     end
  89.     # 刷新同伴成员
  90.     $game_party.refresh
  91.   end
  92. end
复制代码

在事件中调用:$scene = Scene_Load2.new

555……被某人快了一步……
作者: xiarongshan    时间: 2008-3-15 21:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 劍之飛龍☆    时间: 2008-3-15 21:31
我来管闲事:请LZ注意结帖~~~{/dy}
作者: IamI    时间: 2008-3-15 21:32
以下引用劍之飛龍☆于2008-3-15 13:31:08的发言:

我来管闲事:请LZ注意结帖~~~

这种帖子一般会被54……
P.s.不要再觉得我“可怜”了,上次我转掉了16VIP。
作者: xiarongshan    时间: 2008-3-15 21:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: 劍之飛龍☆    时间: 2008-3-15 21:36
以下引用IamI于2008-3-15 13:32:25的发言:


以下引用劍之飛龍☆于2008-3-15 13:31:08的发言:

我来管闲事:请LZ注意结帖~~~


这种帖子一般会被54……
P.s.不要再觉得我“可怜”了,上次我转掉了16VIP。

恩恩,我知道,MS转VIP要收50%的VIP……66真“黑”……………………

P.S:你不可怜,你很富有,你家有250套别墅,250万美圆,250个用人……
水了……不过还是想说:请LZ注意结帖~~~

闪……………… [LINE]1,#dddddd[/LINE]版主对此帖的评论:『提醒一次就可以了』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。




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