赞 | 0 |
VIP | 0 |
好人卡 | 4 |
积分 | 1 |
经验 | 3136 |
最后登录 | 2012-10-31 |
在线时间 | 120 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 120 小时
- 注册时间
- 2011-2-16
- 帖子
- 84
|
接触RM的第4天,昨天居然通宵研究了……
几天下来,除了制作一些素材和建立了初步的地图外,对于事件触发也大致摸出了些心得
然后想着开始打造自己的系统
当我打开脚本器,里面各种脚本看得我头大……经过反复比较,对于某些脚本功能的用法也稍微有了些眉目
这时我想到了一个一直想有,可原始版本中不存在的功能:游戏进行中读档
经过我的观察,我发现Scene_Title里就是游戏开始画面的脚本
而其中command_continue就是控制读档的函数,做了对比,我发现$scene = Scene_File.new(true, false, false)
就是真正运行读档的语句,而check_continue只是检查是否有存档而已,并非必要的……
于是我做了一次嫁接,将该语句复制
之后在Scene_Menu下的update_command_selection这个控制选择菜单的函数中,自己添加了一个选择,s7 = "读取",并把它放在了S6之前
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s7, s6])
显示很正常,和我预计的一样,确实在游戏结束之前多了一个读档选项
之后又在update_command_selec中增加了这条复制的语句……
def update_command_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @command_window.index < 4
Sound.play_buzzer
return
elsif $game_system.save_disabled and @command_window.index == 4
Sound.play_buzzer
return
end
Sound.play_decision
case @command_window.index
when 0 # 物品
$scene = Scene_Item.new
when 1,2,3 # 特技、装备、状态
start_actor_selection
when 4 # 存档
$scene = Scene_File.new(true, false, false)
when 5 # 读档
$scene = Scene_File.new(true, false, false)
when 6 # 游戏结束
$scene = Scene_End.new
end
end
end
好了,这样一来,确实能读档了,可问题也来了……
读档是没问题,可一旦进入读档画面中,此时想取消返回之前的画面,就会回到标题画面……
之后我也试过其他方法,但不奏效
我觉得这可能和Scene_File.new的设置有关,但我找不到哪里有关于Scene_File.new的声明函数
毕竟这条读档语句是复制过来的
各位大大谁能帮忙解答下?
感激不敬
另外如果能顺便解答一下有什么方便的确定坐标的方法就更好了,要确定游戏画面中的坐标点很难啊,总会有误差,很多时候要试很多次才行…… |
|