Persistents 構造体は、永続グローバル変数の収集、作成、テストに使用するメソッドを提供します。
メソッド:
persistents.show [ to:<stream> ]
存続グローバル変数とその値のリストを表示します。
オプションの <stream>
引数には、メソッドが出力を送信する場合の宛先となる filestream、stringstream、または windowstream を使用できます。3ds Max 2019 以降で使用可能です。
persistents.remove <var_name>
指定した存続グローバル変数を存続グローバルのプールから削除します。変数はグローバル変数のまま残り、値を維持します。
persistents.removeAll()
すべての存続グローバル変数を存続グローバルのプールから削除します。変数はグローバル変数のまま残り、値を維持します。
スクリプト:
a= "Hello world" persistent global a persistent global b=box() persistents.show() persistents.remove #a persistents.removeall() a b
スクリプト:
"Hello world" OK $Box:Box002 @ [0.000000,0.000000,0.000000] a: "Hello world" b: $Box:Box002 @ [0.000000,0.000000,0.000000] OK OK OK "Hello world" $Box:Box002 @ [0.000000,0.000000,0.000000]
persistents.gather()
このメソッドは、すべての永続グローバル変数名の配列を<name>
値として返します。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
persistents.make <global var name>
指定する名前はグローバル変数の名前でなくてはなりません。
グローバル変数名以外を指定した場合は、ランタイム エラーが生成されます。詳細は、「globalVars 構造体」 を参照してください。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
persistents.isPersistent <global var name>
指定されたグローバル変数名が永続である場合は true
を返し、永続でない場合は false
を返します。
3ds Max 2008 以降 で使用可能です。従来、Avguard 機能拡張として提供されていた機能です。
例
global aVar --define a global variable --> OK --done! persistents.isPersistent #aVar --is it persistent? --> false --it is not! persistents.make #aVar --make the existing global persistent --> OK --done! persistents.isPersistent #aVar --see if it is persistent now --> true --now it is! persistent global aNewPV --declare a variable as persistent global --> undefined --done, variable has a value of undefined persistents.isPersistent #aNewPV --then see if it is persistent --> true --it is! persistents.isPersistent #anUndeclaredVar --check an undeclared var. --> false --it is not persistent