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> 

グローバル変数のリストから、指定された変数名を削除します。

警告!:

使用の際は注意してください。

関連事項