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

Project1

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

[已经解决] 关于读档取消时的问题…………

[复制链接]

Lv4.逐梦者

梦石
0
星屑
12810
在线时间
1457 小时
注册时间
2012-7-24
帖子
1302
跳转到指定楼层
1
发表于 2013-8-7 21:13:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如题,在Scene_Menu中加了一个读档的选项,但是发现每次读档取消时都直接返回标题画面,但是自己在Scene_Load中又不知道怎么改,是不是要加一个分歧,如果在标题画面中读档取消时就返回标题画面,否则返回菜单画面…………真心求教, 纯脚本盲一个

点评

乃能不无视俺的范例么……明明简单的多了……  发表于 2013-8-9 11:51

欢迎大家加我

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

2
发表于 2013-8-7 21:17:07 | 只看该作者
能附上脚本或者工程吗?

点评

貌似不需要脚本和工程吧...  发表于 2013-8-9 11:27
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

3
发表于 2013-8-7 21:37:42 | 只看该作者
你要做另外一个Scene_Load 取名为Scene_Load2(完全复制Scene_Load就好了),将第一行class Scene_Load < Scene_File改为
class Scene_Load2 < Scene_File
再将Scene_Menu 中的所有Scene_Load改为Scene_Load2
找到脚本Scene_Load2的56行(取消时的处理)里"切换到标题画面" 将$scene = Scene_Title.new 改为$scene = Scene_Menu.new
这样,标题画面中的读档用的是Scene_Load,取消时返回标题画面
菜单中读档是Scene_Load2,取消时返回到菜单

点评

我是正在学习的…………0 0  发表于 2013-8-9 10:52
话说楼主脚本盲应该去学习一下的...  发表于 2013-8-7 21:39

评分

参与人数 2星屑 +100 收起 理由
明特·布兰马修 + 10 我很赞同
︶ㄣ牛排ぶ + 90 认可答案

查看全部评分

(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

万兽

梦石
0
星屑
597
在线时间
2271 小时
注册时间
2006-11-4
帖子
4868

贵宾

4
发表于 2013-8-7 21:55:57 | 只看该作者
一个全局开关/变量就可以搞定,根据场景更改变量的值,比如菜单为true 标题为false
根据这个开关/变量更改返回场景就可以了。 Project1.rar (191.02 KB, 下载次数: 28) 范例在这,全局搜索bearrpg

点评

555555…………熊叔,对不起啊,我看到前面的回答兴奋起来,忘记看你的了0 0  发表于 2013-8-9 19:30
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
39
在线时间
115 小时
注册时间
2012-1-23
帖子
103
5
发表于 2013-8-8 06:02:32 | 只看该作者
存档和读档都是一个脚本,试试把()里的flase和true重新排列一下(小提示,RM可以先点Game运行,再打开RM做实时修改)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
39
在线时间
115 小时
注册时间
2012-1-23
帖子
103
6
发表于 2013-8-8 06:04:41 | 只看该作者
还有,你到底用的是RM的哪个版本?我的是VX

评分

参与人数 1星屑 -20 收起 理由
弗雷德 -20 朋友你不光连帖还进错区了喂…….

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
39
在线时间
115 小时
注册时间
2012-1-23
帖子
103
7
发表于 2013-8-8 06:07:35 | 只看该作者
忘了看标题了,你用
  1. #原作者:吾不知
  2. #使用方法:插在Main以上即可

  3. class Window_MenuCommand < Window_Command  
  4.   alias load_add_main_commands add_main_commands
  5.   def add_main_commands
  6.       load_add_main_commands
  7.       add_command("读档", :Load, main_commands_enabled)
  8.   end
  9. end   
  10. class Scene_Menu < Scene_MenuBase
  11.    alias load_create_command_window create_command_window
  12.    def create_command_window
  13.        load_create_command_window  
  14.        @command_window.set_handler(:Load,     method(:Load))
  15.    end
  16.    def Load
  17.        SceneManager.call(Scene_Load)
  18.    end
  19. end
复制代码
这个代码
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12810
在线时间
1457 小时
注册时间
2012-7-24
帖子
1302
8
 楼主| 发表于 2013-8-9 10:58:59 | 只看该作者
myownroc 发表于 2013-8-7 21:37
你要做另外一个Scene_Load 取名为Scene_Load2(完全复制Scene_Load就好了),将第一行class Scene_Load < Scen ...
  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_Menu.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
复制代码
为什么我出现了这种情况

欢迎大家加我
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

9
发表于 2013-8-9 11:04:45 | 只看该作者
本帖最后由 myownroc 于 2013-8-9 11:11 编辑
化螺耕 发表于 2013-8-9 10:58
为什么我出现了这种情况


怎么可能第7行会有错,我都没事....给工程吧....

突然想起来,61行应该为$scene = Scene_iMenu.new(x)x是你菜单中读档选项的位置
但是这是不能解决第7行的错误

我做的确实没问题... Project1.rar (187.19 KB, 下载次数: 11)
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 17:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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