globalVars 構造体
globalVars 構造体は、グローバル変数の収集、作成、テスト、削除を行うメソッドを提供します。
これらのメソッドは、3ds Max 2008 以降で使用可能です。
従来、Avguard 機能拡張として提供されていた機能です。
メソッド:
globalVars.get <global var name>
指定されたグローバル変数の値を返します。
引数は、MAXScript の名前値である必要があります。
グローバル変数の名前が存在している必要があります。そうでない場合、ランタイム エラーが生成されます。
globalVars.set <global var name> <value>
指定されたグローバル変数の値を設定します。
引数は、MAXScript の名前値である必要があります。
グローバル変数の名前が存在している必要があります。そうでない場合、ランタイム エラーが生成されます。
例:
|
globalVars.get #dontknow --try to get an undeclared variable
-- Runtime error: Specified global variable does not exist: #dontknow
global dontknow = "Now I Know" --declare the variable
--> "Now I Know"
globalVars.get #dontknow --now we can get and set the value
--> "Now I Know"
globalVars.set #dontknow "I Still Know What You Did Last Siggraph"
--> "I Still Know What You Did Last Siggraph"
globalVars.set #reallydontknow "MAXScript"
-- Runtime error: Specified global variable does not exist: #reallydontknow
|
globalVars.gather [filter:<function>]
現在のセッションで宣言されているすべてのグローバル変数の名前の配列を返します。
3ds Max 2017 の 新機能 : オプションのフィルタ パラメータは、true または false のいずれかを返す、2 つの引数を持つ関数です。 最初の引数はグローバル変数の名前、2 番目の引数はグローバル変数の値です。フィルタ関数が
true を返す場合は、変数が収集されます。
例:
|
ro_controls = globalvars.gather filter:(fn filterfn n v = (iskindof v rolloutcontrol))
|
globalVars.isglobal <var name>
指定された名前の変数がグローバルである場合は true 、グローバルでないまたは宣言されていない場合は false を返します。
例(上記の例から続きます)
|
globalVars.isglobal #dontknow --declared in previous example
--> true
globalVars.isglobal #reallydontknow --still notdeclared
--> false
|
globalVars.getTypeTag <var name>
グローバル変数のタイプを整数または名前値で返します。
指定されたグローバル変数名が存在している必要があります。
このメソッドは 主に内部的なテストに使用されます。
主なタイプ タグの値は以下のとおりです。
10 - 一般グローバル
11 - 定数グローバル
12 - システム グローバル
例(上記の例から続きます)
|
globalVars.getTypeTag #dontknow --declared in previous example
--> 10P
globalVars. getTypeTag #reallydontknow --variable does not exist
-- Runtime error: Specified global variable does not exist: #reallydontknow
|
globalVars.getValueTag <var name>
グローバル変数内の値のタイプを整数または名前値で返します。
指定されたグローバル変数名が存在している必要があります。
このメソッドは 主に内部的なテストに使用されます。
各値タイプに個別のタグ値があります。
例:
|
global aString = "I Know Kung-Fu!"
--> "I Know Kung-Fu!"
global aFloat = 123.456
--> 123.456
global anInt = 42
--> 42
global aMatrix = matrix3 1
--> (matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])
globalVars.getValueTag #aString
--> #String
globalVars.getValueTag #aFloat
--> #float
globalVars.getValueTag #anInt
--> #integer
globalVars.getValueTag #aMatrix
--> #Matrix3
globalVars.getValueTag #reallydontknow
-- Runtime error: Specified global variable does not exist: #reallydontknow
|
globalVars.remove <var name>
グローバル変数のリストから、指定された変数名を削除します。