赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 0 |
经验 | 0 |
最后登录 | 2013-12-11 |
在线时间 | 2 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 300
- 在线时间
- 2 小时
- 注册时间
- 2011-5-10
- 帖子
- 3
|
2楼
楼主 |
发表于 2013-11-29 12:26:53
|
只看该作者
MAIN脚本代码如下
# coding: utf-8
# ===========================================================================
# ★ WF-RGSS Scripts ★
# 共通実行スクリプト(XP/VX/VXAce両対応版)
# Bitmap-EX対応版
# バージョン : rev-24 (2012-4-14)
# 作者 : A Crying Minister (WHITE-FLUTE)
# サポート先URI: http://www.whiteflute.org/wfrgss/
# ---------------------------------------------------------------------------
# 機能:
# ・デバッグモードで例外が発生したとき、エラーを errors.txt に記録します。
# ・高速なリセットを利用できるようになります。
# ---------------------------------------------------------------------------
# 影響:
# ・ファイルが見つからない例外は、 元の Errno::ENOENT が補足されます。
# ---------------------------------------------------------------------------
# 設置場所 :Mainセクション(一番最後)に上書き
# または、Mainセクションの直前
# 必要スクリプト:
# ・共通スクリプト
# 注意事項:
# ▽ 共通スクリプトが必要です。
# 改造して使用することを推奨しますが、そのまま使ってもOKです。
# ▽ デバッグモードでエラーを記録する場合、
# 現在のユーザで書き込みを行えることが必要になります。
#==============================================================================
# ◆ Main ( Execute )
#------------------------------------------------------------------------------
# 各クラスの定義が終わった後、ここから実際の処理が始まります。
#==============================================================================
# ---------------------------------------------------------------------------
# ◆ 処理実行
# ---------------------------------------------------------------------------
# スレッド例外で即座に中断しないようにする。(デバッグ時は無効)
# ※ true に設定する場合はご注意ください。
# 終了する前に解放が必要なものもあります。
Thread.abort_on_exception = false
# RPGVX 互換
if rpgvx? and (not rpgvxace?)
unless Font.exist?("UmePlus Gothic")
print "UmePlus Gothic フォントが見つかりません。"
exit
end
end
begin
unless rpgvxace?
if MINTO::Screen_Size == 255 and $keybd.nil?
$keybd = Win32API.new 'user32.dll', 'keybd_event',
['i', 'i', 'l', 'l'], 'v'
$keybd.call 0xA4, 0, 0, 0
$keybd.call 13, 0, 0, 0
$keybd.call 13, 0, 2, 0
$keybd.call 0xA4, 0, 2, 0
end
# ヴァージョン情報を発行
System_Version.version_out
System_Voice.version_out
# トランジション準備
Graphics.freeze
# 前処理
Audio.ogg_init
AudioPass.dispose
System_Voice.dispose
System_Voice.initialize
Data_Tilesets.clear
ForceFeedBack.dispose
ForceFeedBack.setup(true)
Font.default_size = 20
# シーンオブジェクト (ロゴ画面) を作成
Game_Scene.data = Scene_Logo.new
# $scene が有効な限り main メソッドを呼び出す
Game_Scene.data.main until Game_Scene.data.nil?
# フェードアウト
Graphics.transition(20)
else
rgss_main { SceneManager.run }
end
# 以下、例外処理
rescue BugDetected, InternalBugDetected => errobj
begin
MessageBox.fatalerror( errobj )
raise SystemExit.new(1)
rescue Hangup
nil
end
rescue SyntaxError => errobj
# -------------------------------------------------------------------------
# ◆ 例外 SyntaxError
# -------------------------------------------------------------------------
# この例外はバグかセットアップが適切にされていない状況で無い限り、
# 補足されることはない
begin
raise( BugDetected,
"[FATAL] The invalidated exception was detected. \n\n" +
"Exception:\n#{errobj}")
rescue BugDetected => errobj
begin
MessageBox.fatalerror( errobj )
raise SystemExit.new(1)
rescue Hangup
nil
end
end
rescue Reset
# -------------------------------------------------------------------------
# ◆ F12 リセット( 例外 Reset < Exception )
# -------------------------------------------------------------------------
# ※retry する場合は、
# かならず、ウィンドウやスプライトが確実に解放される必要があります。
# ※ RGSS2環境ではF12の機構を封じないと封じ込められません。
raise
rescue Hangup => errobj
# -------------------------------------------------------------------------
# ◆ 致命的例外 Hangup
# -------------------------------------------------------------------------
begin
MessageBox.fatalerror( errobj )
raise SystemExit.new(1)
rescue Hangup
nil
end
rescue SystemExit => errobj
# -------------------------------------------------------------------------
# ◆ 終了要求 ( Alt + F4 など )
# -------------------------------------------------------------------------
# 例外が正常終了で無い場合は、例外 SystemExitを再発生させます。
raise unless (errobj.status).zero?
rescue Exception => errobj
# -------------------------------------------------------------------------
# ◆ 例外処理
# 特に指定されていない例外を補足します。
# ※ rev-2 より、Errno::ENOENT もここで補足します。
# -------------------------------------------------------------------------
begin
MessageBox.fatalerror( errobj )
raise SystemExit.new(1)
rescue Hangup
nil
end
ensure
# -------------------------------------------------------------------------
# ● 後処理
# -------------------------------------------------------------------------
# 後処理を記述します。
# スクリプト内容によってはここで解放処理が必要になることがあります。
# ★ 後処理を記述します。 ★
Bitmap.dispose
AudioPass.dispose
System_Voice.dispose
ForceFeedBack.dispose
RPG::Cache.clear
# ★ ----------------------------------------------------------------------
end
exit # Mainセクションが後に控えている時に処理が渡らないようにする |
|