オブジェクト参照

バージョン5.0.5.43よりオブジェクトの指定は、次の記述が使用できます。ID参照は、部品につけられている一意の番号をもとにして部品を特定します。部品名を設定できない一般的なストラクチャーなどを参照することができます。

■自己参照の”this”
スクリプトを実行しているオブジェクト自身を参照する場合は、thisを使います。
GetObjectPos vec this
※thisは、ダブルクォーテーションで囲まないでください。

■レイアウトをあらわす”LAYOUT”
レイアウトを参照する場合は、LAYOUTを使います。
※LAYOUTは、ダブルクォーテーションで囲まないでください。

■オブジェクト変数で参照
GetObjectPos vec objtrain

■数値変数でID指定
変数に整数値でIDを代入して指定します。IDは、レイアウターでそれぞれの部品につけられている一意の番号です。
set objid 4
GetObjectPos vec objid

■ID参照
オブジェクト指定にIDを数値で記述します。
※数字以外の文字が単語中に含まれる場合は名前参照扱い
GetObjectPos vec 4

■名前参照
オブジェクトに設定した名前で参照します。レイアウターのそれぞれの部品設定ダイアログで名前をつけられる場合、名前参照が利用できます。(一般的なストラクチャーは名前をつけられません。ID参照を利用してください。)
※数字のみの名前はID参照になります。
GetObjectPos vec “Train4”

注意:部品名を数字のみにしている場合は、数値と区別できないため、数字以外の文字を含めてください。
名前参照.変数アクセスの場合は、オブジェクトの名前を「””」でくくらないでください。

編成を連結したときの自動クリアー機構

編成は、連結によって2つの編成が1つの編成に結合されます。このとき、連結する側の編成は消滅します。編成をオブジェクト変数に記録していた場合、連結後に消滅した編成をオブジェクト変数でアクセスするとエラーになります。
5.0.5.48から、オブジェクト変数に消滅した編成が記録されていた場合は、該当するオブジェクト変数にNULLをセットします。スクリプトのコードの枠外で変数の内容を書き換える、禁じ手ですが、変数がNULL以外であれば、その編成は存在していることが保証されます。
消滅した編成にオブジェクト変数を介して参照するとエラーの原因になります。オブジェクト変数が、NULLか条件判断を行ってからオブジェクトを参照するように実装してください。

カテゴリー: ScriptOverview パーマリンク