coordsys 、 animate 、 time などのコンテキストの設定は、「スティッキー」にすることができます。
スティッキーにすると、どのようなコードの実行が続いても、式に対するコンテキスト プレフィックスを使って変更または上書きするまで、アクティブのままになります。
これは、リスナーでの作業に便利です。それぞれに適切なコンテキスト構文を使って、プレフィックスを付けることなくコンテキストを設定したら、そのままいくつかのインタラクティブ処理をそのコンテキスト内で実行できるからです。
スティッキー コンテキストを設定するには、 set 構文を使います。
ここで、<context> には、 animate 、 time 、 in 、 coordsys 、 about 、 level 、 undo の MAXScript コンテキスト プレフィックスのいずれかを指定します。
この例では、アニメーションをオンにしてから現在の時間をフレーム 30 に設定しています。任意の数のインタラクティブ処理を実行し、フレーム 30 でアニメーションを生成し、その後、モードが既定値に戻されます。
任意の数のインタラクティブ処理を実行し、フレーム 30 でアニメーションを生成し、その後、モードが既定値に戻されます。
この例でわかるように、MAXScript コンテキストは構文的バリアントを使用して、set 構文の処理をわかりやすくします。
time コンテキストを off にして、3ds Max タイム スライダの現在値を使うよう指定できます。
set 構文は、新規コンテキストが設定されたときに有効だったコンテキスト設定を生成する式です。
これを使うと、古いコンテキストを変数に格納しておき、後でそのコンテキストの復元に使ってこれらのコンストラクタの標準ネスト形式を模倣できます。
また、コンテキストを既定の状態に戻すには、 #default をパラメータとして指定することができます。
#default を指定できる set 構文は、 animate 、 in 、 coordsys 、および level です。
set undo on 構文を使用して、スクリプト化された変更のやり直しを[リスナー](Listener)で有効にすると、やり直しの各操作はトップレベルの式に配置されます。
式や選択した式のシーケンスを、 [Enter] また はテンキーの[Enter] を押して評価するたびに、1 つのエントリがやり直しスタックに追加されます。