MAXScript の「構造体定義」を使用することにより、カスタム関数だけでなく、カスタムの合成値も作成できます。構造体定義は、単純なデータ型から作成される、柔軟性に富んだデータ型です。新しい構造化タイプの値のレイアウトを定義し、コード内でそれを作成および操作できます。
構造体定義の構文は次のとおりです。
struct <struct_name> ( <member> , <member> )
各<member>
には、次のいずれかを指定できます。
<name> [ = <expr> ] --name and optional initial value
<function_definition>
person という、新しい構造体を作成します。
Struct person (name, height, age, sex)
「person」コンストラクタを使用して、この構造体のインスタンスを作成します。
Bill = person name:"Bill" height:72 age:34 sex:#male
これにより、person 構造体のインスタンスを変数 Bill に保存します。メンバーの name
は文字列値「Bill」に、height
は整数値 72 に、age
は整数値 34 に、sex
は名前値 #male
にそれぞれ初期化されます。別のインスタンスを作成します。
Joe = person name:"Joseph" sex:#male
この例では、もう 1 つの「person」が作成されます。ただし、この person には、height
と age
メンバー用に初期化された値はありません。構造体定義でメンバーにオプションの既定値を指定しなかったため、既定値は undefined
になります。
コンポーネントの数が一定で少数の場合、構造体定義を配列の代わりに使用すると便利です。このタイプの値のコードは、配列内のインデックス番号よりプロパティ名で参照したほうが簡単です。
次のトピック