Mapbutton UI コントロール

Mapbutton コントロールは、クリック時に 3ds Max の[マテリアル/マップ ブラウザ](Material/Map Browser)を表示するボタンをロールアウト内に配置するために使用します。[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスには、TextureMap のみが表示されます。

構文は次のようになります。

mapbutton <name> [<caption>] [map:<texturemap>] [images:<image_spec_array>] [toolTip:<string>] [border:<boolean>] [iconName:<filename> iconSize:<point2>]

mapbutton 項目の位置合わせの既定値は、#center です。

例:

    rollout test_mapbutton "Background"
    (
      label sbm_lbl "Background Map:"
      mapbutton choosemap "<<none>>" tooltip:"Select Background Map" width:120
      on choosemap picked texmap do
      (
        environmentmap = texmap
        choosemap.text=classof texmap as string
      )
    )
    createDialog test_mapbutton

パラメータ

map:   

map プロパティによって初期 textureMap 値が返されてから mapbutton を使用してテクスチャ マップを選択します。既定は undefined です。

images:

mapbutton にビットマップ イメージを提供するためのイメージ仕様配列です。指定すると、<label> は無視されて、mapbutton の内容がビットマップに置き換えられます。

形式は次のとおりです。

images:#(<image>, <maskImage>, <count_integer>, <enabled_out_image_index>, <enabled_in_image_index>, <disabled_out_image_index>, <disabled_in_image_index>)

ここでは、<image> および <maskImage> は、ビットマップ ファイル名の文字列でも、MAXScript ビットマップ値でもかまいません。<count_integer> には、ビットマップ内のサブイメージの数を指定し、image_index 値には、mapbutton の 4 つの状態にビットマップのどのサブイメージを使用するかを指定します。

例:

    bm1 = render camera:$cam01 outputSize:[80,60]
    ...
    mapbutton foo images:#(bm1, undefined, 1, 1, 1, 1, 1)

これは、mapbutton イメージとしてレンダリングを使用します。

    mapbutton decay images:#("dcybtns.bmp", "dcymask.bmp", 6, 1, 4, 1, 4)

これは、ビットマップのサブ イメージ 1 と 4 を使用します。dcybtns.bmp および dcymask.bmp は、それぞれ mapbutton のオフまたはオン状態に対応しています。

イメージ ボタン も参照してください。

toolTip:

mapbutton のツールチップのテキストを指定します。指定されない場合、ツールチップは表示されません。

border:

true に設定した場合、または指定しなかった場合、mapbutton は境界線付きで描画されます。これは、3ds Max 2009 より前のバージョンでは既定値の動作でした。

false に設定すると、mapbutton は境界線なしで描画され、UI の背景が付いたものになります。mapbutton が有効になっている場合、mapbutton が押されたとき、または上にマウスが置かれたときに境界線が表示されます。

3ds Max 2009 以降で使用可能です。

iconName:

ボタンのイメージとして使用するアイコンのファイル名です。iconName が指定されている場合、キャプションは無視されます。iconSize は iconName サイズを 100% DPI スケールで指定します。指定しない場合は、既定の[24,24]が使用されます。

iconSize:

iconName で指定された、100% DPI スケールのアイコンのサイズです。

プロパティ:

<mapbutton>.map TextureMap

mapbutton の現在のテクスチャ マップ値です。テクスチャ マップを選択していない場合は、map パラメータによって指定されたテクスチャ マップ値です。

<mapbutton>.images Array

mapbutton のイメージ設定の配列を設定します。このプロパティは、書き込み専用です。

例:

    -- re-render, update button
    bm1 = render()
    foo.images = #(bm1, undefined, 1, 1, 1, 1, 1)
<mapbutton>.tooltipString

チェックボタンのツールチップ文字列を取得/設定します。

3ds Max 9 以降で使用可能です。

例:

    rollout test "Test"
    (
    mapbutton map_test "Map Button" tooltip:"This is a map button"
    )
    createDialog test
    test.map_test.tooltip = "The tooltip has changed!"

イベント

on <mapbutton> picked <arg> do <expr>

mapbutton 選択コマンド モードで[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスからマテリアルを選択すると呼び出されます。<arg> 引数は、選択したテクスチャ マップを含みます。[マテリアル/マップ ブラウザ](Material/Map Browser)ダイアログ ボックスをキャンセルして閉じた場合は、このハンドラは呼び出されません。

on <mapbutton> rightclick do <expr>

ボタン上で右マウス ボタンが放されたときに、呼び出されます。3ds Max 8 以降 で使用可能です。

注: mapButton がスクリプト化されたマテリアルやテクスチャ マップ プラグインのロールアウトで使用され、マテリアル エディタを開いた場合、これらは他のマテリアルやマップでのサブマップ ボタンと同様に機能します。この機能には、インスタンス/コピーでのドラッグ アンド ドロップをサポートしたり、割り当てたサブマップを開く機能があります。