Project1

标题: 如何让每次继续游戏都回到初始位置,而不是保存时的位置 [打印本页]

作者: pyypokemon    时间: 2011-10-8 14:57
标题: 如何让每次继续游戏都回到初始位置,而不是保存时的位置
如何让每次继续游戏都回到初始位置?而不是保存时的位置。。。。。。。。。。dsu_plus_rewardpost_czw
作者: feizhaodan    时间: 2011-10-8 15:23
  1.     $game_map.setup($data_system.start_map_id)    # 起始位置
  2.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  3.     $game_player.refresh
复制代码
将这三行放到Scene_File里的读取存档处的最低下因该就行了。

作者: pyypokemon    时间: 2011-10-8 15:42
feizhaodan 发表于 2011-10-8 15:23
将这三行放到Scene_File里的读取存档处的最低下因该就行了。

似乎。。。。。。。。。不行。。。。。。
作者: feizhaodan    时间: 2011-10-8 16:13
本帖最后由 feizhaodan 于 2011-10-8 16:14 编辑
  1.   #--------------------------------------------------------------------------
  2.   # ● 执行读档
  3.   #--------------------------------------------------------------------------
  4.   def do_load
  5.     file = File.open(@savefile_windows[@index].filename, "rb")
  6.     read_save_data(file)
  7.     file.close
  8.     $scene = Scene_Map.new
  9.     RPG::BGM.fade(1500)
  10.     Graphics.fadeout(60)
  11.     Graphics.wait(40)
  12.     @last_bgm.play
  13.     @last_bgs.play
  14.   end
复制代码
这里的7行和8行之间试试
作者: pyypokemon    时间: 2011-10-8 20:55
feizhaodan 发表于 2011-10-8 16:13
这里的7行和8行之间试试

还是不行。。。。。。。。= =
作者: feizhaodan    时间: 2011-10-8 23:39
pyypokemon 发表于 2011-10-8 20:55
还是不行。。。。。。。。= =

那我就没法子了。
等高人到来。
作者: 各种压力的猫君    时间: 2011-10-9 01:57
本帖最后由 各种压力的猫君 于 2011-10-9 02:21 编辑
  1. #==============================================================================
  2. # ■ 读取时回到初始位置
  3. #==============================================================================

  4. class Scene_File < Scene_Base
  5.   #--------------------------------------------------------------------------
  6.   # ● 执行读档
  7.   #--------------------------------------------------------------------------
  8.   def do_load
  9.     file = File.open(@savefile_windows[@index].filename, "rb")
  10.     read_save_data(file)
  11.     file.close
  12.   #--------------------------------------------------------------------------
  13.     # 移动到初始地图
  14.     $game_map.setup($data_system.start_map_id)
  15.     # 移动到初始位置
  16.     $game_player.moveto($data_system.start_x, $data_system.start_y)
  17.     # 面向下
  18.     $game_player.set_direction(2)
  19.     # 刷新
  20.     $game_player.refresh
  21.   #--------------------------------------------------------------------------
  22.     $scene = Scene_Map.new
  23.     RPG::BGM.fade(1500)
  24.     Graphics.fadeout(60)
  25.     Graphics.wait(40)
  26.     @last_bgm.play
  27.     @last_bgs.play
  28.   end
  29. end
复制代码
以上脚本插到Scene_File以下Main以上即可。
修改的地方在两条分割线之间,均作了注释。
当然也可以对照自己的Scene_File加进去。
作者: 黄亦天    时间: 2011-10-9 07:27
本帖最后由 黄亦天 于 2011-10-9 07:37 编辑

正好和咱的问题相反  囧

Scene_File 里的读取的方法
也就是
  1. def read_save_data(file)
复制代码
的下面有个这个

  1.     if $game_system.version_id != $data_system.version_id
  2.       $game_map.setup($game_map.map_id)
  3.       $game_player.center($game_player.x, $game_player.y)
  4.     end
复制代码
大约在200多行以下(咱有修改所以不清楚到底是多少行 =  =)
把 if 那行 和 end 一起ctrl+Q注释掉就OK了(中间保留)

这段是地图事件发生变化时,重新读取事件而代替存档的事件
于是咱就发现咱一修改,读档时所有事件都归位了 囧
因为咱是用事件做战棋什么的……
经过熊君指点删掉了这段终于得救了……

于是如果想让事件直接归位道理也相通
不判定有什么修改
直接重新读取数据就OK了




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