ウィンドウを作成する
 
 
 

カスタム ユーザ インタフェースを作成する最初の手順として、ウィンドウを作成します。このウィンドウにはテキスト、ボタン、その他のコントロールなど、ユーザ インタフェースの要素が含まれます。

ウィンドウを作成するには

  1. スクリプト エディタの MEL タブに次のコマンドを入力します。
    window -resizeToFitChildren 1; showWindow;

    ウィンドウが表示されます。

    window コマンドの -resizeToFitChildren フラグは、ウィンドウにあるすべての要素が表示されるように、ウィンドウのサイズを自動的に変更します。このフラグは値を必要とし、値 1 はフラグをオンにし、値 0 はフラグをオフにします。

    ウィンドウを作成した時点では、showWindow コマンドを使用するまでウィンドウは表示されません。showWindow コマンドを引数なしで使用すると、最後に作成されたウィンドウが表示されます。

  2. 右上コーナーにある X をクリックして、ウィンドウを閉じます。

コントロールを参照する

MEL スクリプトを使用してウィンドウを作成する場合には、すべてのウィンドウとユーザ インタフェース コントロールに固有の名前が付けられてることを確認する必要があります。ウィンドウの名前を指定しないと、デフォルトの名前が付けられます。(前のプロシージャではウィンドウ名は使用しませんでしたが window1 という名前が付けられていました)。名前がわからないと、ウィンドウやコントロールの参照や修正を行えません。

ユーザ インタフェース要素を名前で参照するには

  1. スクリプト エディタ(Script Editor)の MEL タブで次の内容を入力して、テキストを表示するウィンドウとそれを閉じるボタンを作成します。
    window -resizeToFitChildren 1 testwindow; columnLayout; 	text 		-label "This is a test window you can close by\ clicking the button below."; button 		-label "Close" 		-command "deleteUI testwindow"; showWindow;

  2. ウィンドウの Close ボタンを押します。

    ウィンドウが閉じます。

説明: 簡単なウィンドウを作成する

コントロールと呼ばれるユーザ インタフェースの要素をウィンドウに作成しました。すべてのユーザ インタフェース コントロールはレイアウト内に作成する必要があります。レイアウトとは、ユーザ インタフェース要素をウィンドウ内にどのように配置するかを Maya に指示するものです。

formLayoutrowLayout など、さまざまなタイプのレイアウトがありますが、もっともシンプルで使いやすいのは columnLayout です。columnLayout はコントロールを縦 1 列に下に向かって配置します。レイアウトの詳細については、『MEL とエクスプレッション』マニュアルの「 レイアウト」を参照してください。

text コマンドを使用して、レイアウト内にテキスト コントロールを作成しました。label フラグの引数はウィンドウに表示するテキストです。

ボタンは button コマンドで作成します。command フラグの引数は、ボタンを押した時に実行する MEL コマンドです。この例では、ボタンを押すと deleteUI コマンドが実行され、先に作成したウィンドウが削除されます。

複数行にまたがるスクリプト

上記スクリプトでは、個々のコマンドが複数行にまたがっています。コマンドは、行末文字をコマンドの末尾に付ければ、複数行にまたがって記述できます。MEL の規則として、上の例のように、コマンド キーワードは 1 行に入れますが、モディファイア フラグと値のペアはコマンドの下の別の行に入れてかまいません。

文字列は、特別な文字を使用しないと複数行にまたがって記述できません。文字を複数行に分けるには、バックスラッシュ(\)を使用します。例:

print "With the \\ character, you can \ split a string over \ multiple lines.";

文字列内にバックスラッシュを使用する場合は、バックスラッシュを 2 つ続けます。バックスラッシュはエスケープ文字です。エスケープ文字は、後続文字が文字列であることをスクリプト インタプリタに伝えます。エスケープ文字を他の文字と組み合わせて使用すれば、特別な記号を作成できます。たとえば、文字列で引用を表すには、次のようにします。

print "Jim said \"Hello!\" to the Maya user";