ユーザ インタフェース コントロール > 共通プロパティ > レイアウト > タイプ > Slider |
slider コントロールは、スピナーの代りにスライダをロールアウトに配置するために使用します。ユーザは、スライダのポインタをドラッグして値を設定できます。
構文は次のようになります。
slider <name> [<caption>] [range:[min,max,val]] [type:<#float | #integer>] [ticks:10][orient:<#horizontal | #vertical>] [height:80] [controller:(<controller>)] [toolTip:<string>]
slider 項目の既定の位置合わせは、 #center です。
例: |
slider tilt "Head tilt" orient:#vertical ticks:0 range:[-30,30,0] on tilt changed val do $head.bend.angle = val |
パラメータ
range:
Point3 値で、それぞれ x、y、z にスライダの最小値、最大値、初期値が入ります。既定値は、[0,100,0] です。既定値は、[0,100,0] です。
type:
スライダのタイプで、 #float または #integer です。既定値は #float です。
orient:
ロールアウト内のスライダのレイアウトの向きです。 #vertical または #horizontal です。既定値は #horizontal です。
height:
orient:#vertical が指定されている場合は、スライダの高さを指定します。
ticks:
スライダ バーに沿って付けるティックの数を指定します。 ticks:0 を指定すると、ティックは描画されません。既定値は 10 です。
controller:
指定されたコントローラにスピナーをリンクします。これは新しいコントローラとなり、切断されると 'undefined' となります。これにより、スライダとコントローラの間に直接リンクを設定できます。スライダが変更されると、自動的にコントローラおよびそのコントローラで制御されるオブジェクトが更新されます。コントローラが変更されると、自動的にスライダが更新されます。前のバージョンでは、この機能はスピナー コントロールでのみ使用可能でした。3ds Max 8 以降 で使用可能です。
tooltip:
スライダの上にマウスを移動したときに表示されるツールチップ文字列を指定します。
3ds Max 2010 以降で使用可能です。
プロパティ:
<slider>.range Point3
range: パラメータと同様のスライダの現在の範囲です。Point3 値で表します。
<slider>.value Float
スライダの現在の値です。
<slider>.ticks Integer
スライダに沿ったティックの数です。
<slider>.tooltip String
スライダの上にマウスを移動したときに表示されるツールチップ文字列を取得/設定します。
3ds Max 2010 以降で使用可能です。
イベント
on <slider> changed <arg> do <expr>
ユーザがスライダのポインタを移動したときに呼び出されます。 <arg> 引数には、スライダの新しい値が含まれます。
on <slider> rightClick do <expr>
スライダ コントロールを右クリックすると呼び出されます。
3ds Max 2010 以降で使用可能です。
on <slider> buttondown do <expr>
ユーザがスライダを初めてクリックしたときに呼び出されます。
on <slider> buttonup do <expr>
ユーザがスライダを解除したときに呼び出されます。
buttonDown および buttonUp イベントによって、スライダの「巻き記号」の開始および終了位置が効率よく示されるため、調整の設定を実行できます。これは一般に、 on <slider> changed ハンドラ内で修正されるシーン ノードをフォアグラウンド平面に配置して、画面上の再描画を高速化するために使用します。
例: |
slider foo "height: " on foo buttonDown do flagForeground $baz...* true on foo buttonUp do flagForeground $baz...* false |
flagForeground <node> <boolean> -- mapped
ブール値の引数が true の場合には、シーン ノードをフォアグラウンド平面に配置します。 false の場合には、バックグラウンド平面に配置します。
フォアグラウンド平面にあまり多くのオブジェクトを配置するとフォアグラウンド平面のパフォーマンスが低下しますので、フォアグラウンド平面にオブジェクトを配置する場合には十分注意してください。オブジェクトをインタラクティブにコントロールする必要がなくなった場合は、オブジェクトをバックグラウンド平面に戻すことを忘れないでください。