Project1

标题: 请教一下,如何在选项分支中创立读档脚本 [打印本页]

作者: bakaninerme    时间: 2015-4-23 22:32
标题: 请教一下,如何在选项分支中创立读档脚本
如图file:///D:/Documents/Desktop/1.jpg
作者: bakaninerme    时间: 2015-4-23 22:32
卧槽发不出来图片……
作者: bakaninerme    时间: 2015-4-23 22:36
[img]%5Bimg=355,280%5D[/img][/img]
作者: bakaninerme    时间: 2015-4-23 22:37
bakaninerme 发表于 2015-4-23 22:36
[/img][/img]

↑如图,怎么在继续游戏中用脚本来创立一个读取存档的界面
作者: tseyik    时间: 2015-4-24 08:20
本帖最后由 tseyik 于 2015-4-24 08:21 编辑

你先清楚説明你要求做些什麼?
何時?些什麼?
你的圖別人是看不到的
作者: 判约之轮    时间: 2015-4-24 10:08
本帖最后由 判约之轮 于 2015-4-24 17:05 编辑

忽然想到fadeout_all是场景类专用方法……暗搓搓的把不能用的部分删掉了
[line]1[/line]
First,连帖是不好的,不仅信息冗余而且别人看着也困难
Second,看默认脚本中Scene_Load中的相关代码,里面就有读档指令
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 确定读档文件
  3.   #--------------------------------------------------------------------------
  4.   def on_savefile_ok
  5.     super
  6.     if DataManager.load_game(@index)     #@index是存档的序号,我记得是从1算起的
  7.       on_load_success                                     #上一句的返回值是读档是否成功(或者说存档是否存在)
  8.     else                                                            #上一句是进行读档成功后的后续处理,必须要做
  9.       Sound.play_buzzer                                 #假如不存在,那就播放错误提示音
  10.     end
  11.   end
  12.   #--------------------------------------------------------------------------
  13.   # ● 读档成功时的处理
  14.   #--------------------------------------------------------------------------
  15.   def on_load_success
  16.     Sound.play_load                                                #成功提示音
  17.     fadeout_all                                                         #淡出画面
  18.     $game_system.on_after_load                            #所有变量按照存档重赋值
  19.     SceneManager.goto(Scene_Map)]                   #回到地图场景
  20.   end

Third,我提供两个可选方案:
一、你要做的就是在选项分歧中再次嵌套分歧,判断DataManager.load_game(@index)
如果返回false,那么就是没有存档的情况,如果返回true,那么执行以下脚本
RUBY 代码复制
  1. Sound.play_load
  2.     $game_system.on_after_load
  3.     SceneManager.goto(Scene_Map)

二、如果上面的脚本会报错,那么就用保险一点的办法,选项分歧中直接写入:
RUBY 代码复制
  1. if DataManager.load_game(@index)
  2.       $game_system.on_after_load
  3.       SceneManager.goto(Scene_Map)
  4.     else
  5.       return
  6.     end





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