共通スクリプト:リファレンス


トップページへ | RGSSスクリプトへ | 共通スクリプト導入方法へ

共通スクリプト リファレンス

元から組み込まれているメソッドやクラスも一部説明を入れています。

RGSS組み込みモジュール Graphics

モジュールメソッド

Graphics.safe_update
  in  : なし
  out : ---

Graphics.update と処理は同じですが、例外 Reset を外部に出しません。 このモジュールメソッドは、処理に負荷かかかる時に使用してください。

Graphics.update 実行時に F12 が押されていると、例外 Reset が発生します。

クラスメソッド

frame_workset( frame_rates )
  in  : frame_rates -> Fixnum ( 10 - 120 )
  out : ---

フレームレートを一時的に変更します。このとき、フレームカウントを調整し、プレイ時間に影響を与えないようにします。

frame_restore
  in  : なし
  out : ---

frame_workset( frame_rates )メソッドで変更されたフレームレートを元に戻します。 このとき、フレームカウントを調整し、プレイ時間に影響を与えないようにします。

▲このページの先頭へ

組み込みモジュール GC

モジュールメソッド

update_start
  in  : なし
  out : ---

ガーベージコレクションを実施します。 実施前後に、Graphics.safe_updateを呼び出し、ハングアップを抑止します。 このため、このメソッドの実行には2フレーム以上時間が掛かります。

▲このページの先頭へ

組み込みクラス Thread

クラスメソッド

synchronized
  in  : なし
  out : ---

このブロックの間、スレッドを切り替えません。 ただし、排他制御を保障するものではありませんので、気をつけてください。


  Thread.synchronized do

    # 何かの処理

  end

▲このページの先頭へ

モジュール Abstract

これはインクルードすることによって、抽象クラスにすることができます。 このモジュールがインクルードされているクラスは、 継承を行わないと利用できなくなります。

主に、特定のベースクラスの作成に利用します。

後述するFinalClassと同時にインクルードできません。

▲このページの先頭へ

モジュール FinalClass

これはインクルードすることによって、以後の継承を行う事が出来なくします。 継承させたくないクラスに対して利用します。

前述のAbstractモジュールと同時にインクルードできません。

▲このページの先頭へ

組み込みモジュール Kernel

ここでは、危険なメソッドを未定義にしたり、 例外を発生させるプリセットメソッドを用意しています。

未定義にされたメソッド

次のメソッドは未定義にされています。これらは有用性よりも危険性が高いためです。

  ` exec  fork  system abort exit! open

モジュールメソッド

assert_if( value )
  in  : value -> Object
  out : ---
  exception : AssertionError

これは評価された結果が真であることを期待するものです。 評価された値が、nil または false のとき、例外 AssertionError を発生させます。

assert_unless( value )
  in  : value -> Object
  out : ---
  exception : AssertionError

これは評価された結果が偽であることを期待するものです。 評価された値が、nil または false でないとき、例外 AssertionError を発生させます。

プライベートメソッド

rpgvx?
  in  : なし
  out : true(TrueClass) / false(FalseClass)

RPGツクール(R)VX上で動作しているかを調べます。RPGVX上なら、trueを返し、RPGXP上ならfalseを返します。

__failure_method_call__( method_name , *args )
  in  : method_name -> String 
  in  : *args
  out : ---
  exception : NoMethodError

例外 NoMethodErrorを発生させます。これは、method_missingとほぼ同様です。

__override_required_call__( method_name , *args )
  in  : method_name -> String 
  in  : *args
  out : ---
  exception : AbstractError

例外 AbstractError を発生させます。 これは継承先でオーバーライドして使用するようにすることを示します。

__failure_type_call__( object_type )
  in  : object_type -> Object
  out : ---
  exception : TypeError

例外 TypeError を発生させます。これは型が合わないときに利用します。

__outof_range_call__( num , str , call_value = 2 )
  in  : num -> Numeric
  in  : str -> String
  in  ; call_value -> Fixnum
  out : ---
  exception : RangeError, BugDetected

例外 RangeError を発生させます。これは値が範囲内に無い時に使われます。 なお、使用方法を間違えている場合は、例外 BugDetected が発生します。

__invalid_value_call__( str , value , call_value = 2 )
  in  : str -> String
  in  : value -> Object
  in  ; call_value -> Fixnum
  out : ---
  exception : ArgumentError, BugDetected

例外 ArgumentError を発生させます。 なお、使用方法を間違えている場合は、例外 BugDetected が発生します。

__insecure_call__( str )
  in  : str -> String
  out : ---
  exception : SecurityError, BugDetected

例外 SecurityError を発生させます。 これはセキュリティ違反があったときに発生させるべきです。 なお、使用方法を間違えている場合は、例外 BugDetected が発生します。

__report_bug( str )
  in  : str -> String
  out : ---
  exception : BugDetected

このメソッドはバグでしかありえない状況のときに利用します。 このメソッドは、例外 BugDetected を発生させ、バグ報告を行います。 使用方法が間違っていたとしても 例外 BugDetected が発生します。

__report_bug_invalid_value( value )
  in  : value -> Object
  out : ---
  exception : BugDetected

このメソッドは異常な値で、バグ以外に考えられない場合に利用します。 このメソッドは、例外 BugDetected を発生させ、バグ報告を行います。

_type_check_( object_type , klass , call_value = 2 )
  in  : object_type -> Object
  in  : klass -> Module
  in  ; call_value -> Fixnum
  out : ---
  exception : TypeError, BugDetected

object_type を klass に対して、is_aの関係にあるかを検証します。 is_aの関係に無ければ、例外 TypeError が発生します。 なお、使用方法を間違えている場合は、例外 BugDetected が発生します。

_fixnum_range_check( value , minimum , maximum )
  in  : value -> Fixnum
  in  : minimum -> Fixnum
  in  ; maximum -> Fixnum
  out : ---
  exception : TypeError, RangeError

value が、 Fixnum であり、minimum から、 maximumの間にあるかを検証します。

value が Fixnum で無い場合は、 例外 TypeError が発生します。value が範囲外の場合は、例外 RangeError が発生します。

_integer_range_value( value , minimum , maximum )
  in  : value -> Integer
  in  : minimum -> Integer
  in  ; maximum -> Integer
  out : Integer
  exception : TypeError

value が Integer であるかを検証し、 minimumから、maximumの範囲内に収めて返します。

value が Integerでない場合は、例外 TypeError が発生します。 value が範囲外の場合は、範囲内に収まるように調整されます。

▲このページの先頭へ

組み込みクラス String

クラスメソッド

utf82ansi( str )
  in  : str -> String
  out : String

UTF-8の文字列をSHIFT_JISに変換します。

ansi2utf8( str )
  in  : str -> String
  out : String

SHIFT_JISの文字列をUTF-8に変換します。

メソッド

clear
  in  : なし
  out : ----

文字列の中身をクリアします。

encode
  in  : なし
  out : ----

文字列に対して簡易的な符号化をかけます。

▲このページの先頭へ

モジュール ErrorLogWriter

異常終了時にエラー情報をログに記録するモジュールです。 この機能が働くのはデバッグ時のみです。 このモジュールはインクルードできません。

クラスメソッド

write( errobj )
  in  : errobj -> Exception
  out : ---

エラー情報を errors.txt に記録します。 このメソッドはデバッグ時のみ有効です。

▲このページの先頭へ

モジュール Safe_Reseter

このモジュールは、各シーンのクラスに対して、自動的にインクルードされます。 これは、例外が発生したまたは終了を感知して解放処理を行おうとします。

モジュールメソッド

_wfsafe_dispose_set( klass , mthd )
  in  : klass -> Module
  in  : mthd -> Symbol
  out : ---

例外や終了を感知したとき、解放処理を呼び出すためのメソッドを予約します。 呼び出しの関係上、解放処理を呼び出すメソッドはクラスメソッドにしておくべきです。

プライベートメソッド

_all_disposer
  in  : なし
  out : ---

例外や終了を感知したときに呼び出され、解放が必要なオブジェクトを すべて解放しようと試みます。

解放処理には少なくても 2 フレーム以上掛かります。

▲このページの先頭へ

例外クラス ScriptSyntaxError < Exception

RGSS(RGSS2も含めて)ではSyntaxErrorが重要な情報をすべて削除してしまう とんでもないものです。特にスクリプト実行中のSyntaxErrorで悲鳴をあげることになるでしょう。

そのような悲劇にならないために、かわりに発生させている例外です。 例外 SyntaxError が発生する状況で発生します。 この例外は、RGSS(RGSS2)が勝手に削除してしまう詳細情報を提供します。

※特にイベントスクリプト上でSyntaxErrorを出すととても悲惨なことに…

スクリプト実行中にSyntaxErrorが発生しました。

「スクリプト実行中に SyntaxError が発生しました。」だけで すぐに修正できるのでしょうか?

▲このページの先頭へ

例外クラス SyntaxError < ScriptError (obsolete)

この例外クラスは通常発生しません。何故ならば 重要な詳細情報をすべて削除してしまうとんでもないものだからです。

なお、この例外クラスは誤動作を防止するため、継承することはできません。

▲このページの先頭へ

例外クラス InheritanceError < Exception

継承できないクラスを継承しようとしたときに発生する例外です。

▲このページの先頭へ

例外クラス IncludeError < Exception

インクルードできないモジュールをインクルードしようとしたときに 発生する例外です。

▲このページの先頭へ

例外クラス AbstractError < NotImplementedError

Abstractモジュールによって仮想化されたクラスのインスタンスを作成した、 もしくは、オーバーライドが必要なメソッドをオーバーライドしないで 使用しようとしたときに発生する例外です。

▲このページの先頭へ

例外クラス BugDetected < Exception

バグ以外、ありえないような状況に陥ったときに発生する例外です。 これはバグ報告を行うためのものであるため、途中で破棄してはいけません。

▲このページの先頭へ

例外クラス InternalBugDetected < BugDetected

WFRGSSのバグ以外、ありえないような状況に陥ったときに発生する例外です。 これはバグ報告を行うためのものであるため、途中で破棄してはいけません。

WFRGSS自体のバグを報告する関係上、利用しないようにしてください

(これを不用意に利用すると混乱の元になります。)

▲このページの先頭へ

例外クラス EventDeepError < SystemStackError

イベント階層が深すぎるような状況で発生させる例外です。

▲このページの先頭へ

例外クラス InitializeError < TypeError

初期化が失敗したときのような状況で発生させる例外です。

▲このページの先頭へ

例外クラス AssertionError < Exception

アサーションが失敗したときに発生させる例外です。 検証用のため、通常は破棄しないようにしてください。

▲このページの先頭へ

例外クラス LoadFailureError < LoadError (obsolete - rev5.2)

この例外は、DLLのモジュール呼び出し失敗のときに呼び出されていたものですが、rev5.2よりLoadErrorを呼び出すようになったため、廃止される予定です。

この例外クラスは使用しないことをお勧めします。

▲このページの先頭へ

例外クラス SecurityHazard < Exception

セキュリティ違反が発生したときに発生させる例外です。 SecurityErrorの場合、通常の例外処理で破棄される恐れがあるため この位置になっています。

この例外は、破棄すべきではありません。

▲このページの先頭へ

RGSS組み込み例外クラス Hangup < Exception

Graphics.updateが10秒以上呼び出されなかったときにハングアップとして発生する例外です。 これがセクション外部に到達すると、 「スクリプトがハングアップしました。」が表示されて異常終了します。

この例外は、浅い階層から突然発生することがありますのでご注意ください。

この例外を捉えるようにする場合、テストを行うべきです。

RGSS2ではこの例外が廃止されましたが、XPとの互換性のために残しています。

▲このページの先頭へ

RGSS組み込み例外クラス Reset < Exception

Graphics.update またはKernel#pが呼び出されたときに、F12が押されていると発生する例外です。(XP)

どこでも構わずにF12が押されると発生する例外です。(VX)

これがセクション外部に到達すると、 スクリプトセクションを最初から実行し直します。

この例外は、RGSSでリセットを実装するものです。 この例外が発生したとき、カーソルの点滅状態などが初期化されます。

スクリプトセクションに記述されていない 組み込みメソッドなどは再実行しませんので、 aliasundef を使用している場合は特に注意が必要になります。

▲このページの先頭へ

トップページへ | RGSSスクリプトへ | 共通スクリプト導入方法へ
WHITE-FLUTE Web.
URIhttp://www.whiteflute.org/
© 2010 WHITE-FLUTE all rights reserved.
Powered by Gumiki A2S ver1.01