mapKeys() メソッドは、SDK 関数 Control::MapKeys() へのアクセスを提供します。
形式は次のとおりです。
mapKeys <max_object> (<map_struct> | <fn> <arg>) [#allKeys] [#selection] [#slide] [#rightToLeft]
これは、MAXScript の他の再帰コントローラ キー関数(moveKeys
、deleteKeys
など)と同様に、指定したオブジェクトでネストされているコントローラにあるすべてのキーに対して操作します。スクリプト関数と引数のペア、または構造体インスタンスのいずれかをマップする必要があります。関数が指定された場合は、マップする時間値と mapKeys() 呼び出しからの <arg>
の 2 引数をとり、マップされた時間を返す必要があります。
例
fn bumpTime t delta = t + delta
mapKeys $Box01 bumpTime 23 #selection
$Box01 内のコントローラで選択されたキーすべてに 23 を加算します。
構造体が指定された場合は、マップする時間をとり、マップされた時間を返す少なくとも 1 つの「マップ」メンバー関数が必要です。
構造体の利点は、パラメータを保持するのに必要な数のデータ メンバを持つことで、複雑なパラメータ設定マッピングをセット アップできることです。
例
b=box()
struct mapper
(
scale,
offset,
fn map t = return t * scale * offset
)
mapKeys b (mapper scale:0.5 offset:10)
時間スケールとオフセットの組み合わせを一度に渡して実行します。