设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1456|回复: 7
打印 上一主题 下一主题

[已经解决] 如何让每次继续游戏都回到初始位置,而不是保存时的位置

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2011-10-7
帖子
36
跳转到指定楼层
1
发表于 2011-10-8 14:57:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何让每次继续游戏都回到初始位置?而不是保存时的位置。。。。。。。。。。

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

2
发表于 2011-10-8 15:23:53 | 只看该作者
  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里的读取存档处的最低下因该就行了。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2011-10-7
帖子
36
3
 楼主| 发表于 2011-10-8 15:42:55 | 只看该作者
feizhaodan 发表于 2011-10-8 15:23
将这三行放到Scene_File里的读取存档处的最低下因该就行了。

似乎。。。。。。。。。不行。。。。。。
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

4
发表于 2011-10-8 16:13:35 | 只看该作者
本帖最后由 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行之间试试
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2011-10-7
帖子
36
5
 楼主| 发表于 2011-10-8 20:55:38 | 只看该作者
feizhaodan 发表于 2011-10-8 16:13
这里的7行和8行之间试试

还是不行。。。。。。。。= =
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

6
发表于 2011-10-8 23:39:52 | 只看该作者
pyypokemon 发表于 2011-10-8 20:55
还是不行。。。。。。。。= =

那我就没法子了。
等高人到来。
回复

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
729
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

7
发表于 2011-10-9 01:57:25 | 只看该作者
本帖最后由 各种压力的猫君 于 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加进去。

评分

参与人数 1星屑 +200 收起 理由
黄亦天 + 200 于是这个咱拿去参考了 XD

查看全部评分

回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4402
在线时间
1910 小时
注册时间
2010-12-21
帖子
2365
8
发表于 2011-10-9 07:27:35 | 只看该作者
本帖最后由 黄亦天 于 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了
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-30 16:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表