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

Project1

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

[已经解决] vx ace 的 quick_load脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2012-12-15
帖子
9
跳转到指定楼层
1
发表于 2012-12-23 22:56:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Mic_洛洛 于 2013-1-17 16:45 编辑

请问这个脚本有什么用途?


RUBY 代码复制
  1. #
  2. #    クイックロード(RGSS3)
  3. #  (C)2012 TYPE74RX-T
  4. #
  5.  
  6. #==============================================================================
  7. # ■ SceneManager
  8. #------------------------------------------------------------------------------
  9. #  シーン遷移を管理するモジュールです。たとえばメインメニューからアイテム画面
  10. # を呼び出し、また戻るというような階層構造を扱うことができます。
  11. #==============================================================================
  12.  
  13. class << SceneManager # module内のエイリアス
  14.   alias rx3_1201202_first_scene_class first_scene_class
  15.   def first_scene_class
  16.     # ★ クイックロードモードの条件を満たしていたらクイックロードに飛ぶ
  17.     return Scene_RX_QuickLoad if rx_quick_load?
  18.     rx3_1201202_first_scene_class  # メソッド呼び戻し
  19.   end
  20. end
  21.  
  22. module SceneManager
  23.   #--------------------------------------------------------------------------
  24.   # ★ クイックロードモードの条件を満たしているか
  25.   #--------------------------------------------------------------------------
  26.   def self.rx_quick_load?
  27.     $RX_QLOAD = 0
  28.     Input.update
  29.     $RX_QLOAD = 1 if Input.press?(:C) # 最後にロードしたファイルから始める
  30.     $RX_QLOAD = 2 if Input.press?(:B) # 最後にセーブしたファイルから始める
  31.     chk = Dir.glob('RX_SaveFileInfos.dat').size > 0 && $RX_QLOAD > 0
  32.     return chk
  33.   end
  34. end
  35.  
  36. #==============================================================================
  37. # ■ Scene_Save
  38. #------------------------------------------------------------------------------
  39. #  セーブ画面の処理を行うクラスです。
  40. #==============================================================================
  41.  
  42. class Scene_Save < Scene_File
  43.   #--------------------------------------------------------------------------
  44.   # ● セーブ成功時の処理
  45.   #--------------------------------------------------------------------------
  46.   alias rx3_1201202_on_save_success on_save_success
  47.   def on_save_success
  48.     index_save         # ★ セーブしたファイルインデックス情報を書き込む
  49.     rx3_1201202_on_save_success # メソッド呼び戻し
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ★ セーブしたファイルインデックス情報を書き込む
  53.   #--------------------------------------------------------------------------
  54.   def index_save
  55.     chk = rx_read_load_index # インデックス情報があれば、それを読み込む
  56.     file = File.open("RX_SaveFileInfos.dat", "wb")
  57.     # ファイルインデックス情報ファイルがなければ、仮に -1 を記録
  58.     chk ? Marshal.dump(@rx_load_index, file) : Marshal.dump(-1, file)
  59.     Marshal.dump(@index, file)
  60.     file.close
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ★ ロードしたファイルインデックス情報を読み込む
  64.   #--------------------------------------------------------------------------
  65.   def rx_read_load_index
  66.     chk = Dir.glob('RX_SaveFileInfos.dat').size > 0
  67.     return false unless chk
  68.     file = File.open("RX_SaveFileInfos.dat", "rb")
  69.     @rx_load_index = Marshal.load(file)
  70.     sav_id         = Marshal.load(file)
  71.     file.close
  72.     return true
  73.   end
  74. end
  75.  
  76. #==============================================================================
  77. # ■ Scene_Load
  78. #------------------------------------------------------------------------------
  79. #  ロード画面の処理を行うクラスです。
  80. #==============================================================================
  81.  
  82. class Scene_Load < Scene_File
  83.   #--------------------------------------------------------------------------
  84.   # ● ロード成功時の処理
  85.   #--------------------------------------------------------------------------
  86.   alias rx3_1201202_on_load_success on_load_success
  87.   def on_load_success
  88.     index_save         # ★ ロードしたファイルインデックス情報を書き込む
  89.     rx3_1201202_on_load_success # メソッド呼び戻し
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ★ ロードしたファイルインデックス情報を書き込む
  93.   #--------------------------------------------------------------------------
  94.   def index_save
  95.     rx_read_save_index # 先にセーブしたファイルインデックス情報を読み込む
  96.     file = File.open("RX_SaveFileInfos.dat", "wb")
  97.     Marshal.dump(@index, file)
  98.     Marshal.dump(@rx_save_index, file)
  99.     file.close
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ★ セーブしたファイルインデックス情報を読み込む
  103.   #--------------------------------------------------------------------------
  104.   def rx_read_save_index
  105.     file = File.open("RX_SaveFileInfos.dat", "rb")
  106.     rx_load_index  = Marshal.load(file)
  107.     @rx_save_index = Marshal.load(file)
  108.     file.close
  109.   end
  110. end
  111.  
  112. #==============================================================================
  113. # ★ Scene_RX_QuickLoad
  114. #------------------------------------------------------------------------------
  115. #  クイックロードの処理を行うクラスです。
  116. #==============================================================================
  117.  
  118. class Scene_RX_QuickLoad < Scene_MenuBase
  119.   #--------------------------------------------------------------------------
  120.   # ● 開始処理
  121.   #--------------------------------------------------------------------------
  122.   def start
  123.     super
  124.     quick_load
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ● クイックロード
  128.   #--------------------------------------------------------------------------
  129.   def quick_load
  130.     index = read_index
  131.     if index >= 0
  132.       $game_system.on_after_load if DataManager.load_game(index)
  133.       SceneManager.goto(Scene_Map)
  134.     else
  135.       SceneManager.goto(Scene_Title)
  136.     end
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● インデックス情報をロード
  140.   #--------------------------------------------------------------------------
  141.   def read_index
  142.     file = File.open("RX_SaveFileInfos.dat", "rb")
  143.     load_index     = Marshal.load(file)
  144.     save_index     = Marshal.load(file)
  145.     file.close
  146.     return load_index if $RX_QLOAD == 1
  147.     return save_index if $RX_QLOAD == 2
  148.   end
  149. end

Lv1.梦旅人

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
帖子
1543
2
发表于 2012-12-24 02:15:21 | 只看该作者
シーン迁移を管理するモジュールです。たとえばメインメニューからアイテム画面を呼び出し、また戻るというような阶层构造を插うことができます。

场景过渡管理模块。例如从主菜单画面调用道具,再回来这样的层次结构可以办理。
∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧∧


直接用 Lingoes 携带版翻译的,一字未改,意思十分明确了。

评分

参与人数 1星屑 +50 收起 理由
Mic_洛洛 + 50 回复奖励

查看全部评分

修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-16 10:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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