Maxobj オブジェクト
Maxobj は、パッチャー内の Max オブジェクトの Javascript 表現です。これは、newobject() のような、Javascript の Patcher オブジェクトの様々なメソッドによって返されます。元になる Max オブジェクトが開放されている場合、最終的には、Maxobj はもはや存在しないオブジェクトを参照することもできてしまうということは、ぜひ覚えておくべき重要なポイントです。このような状態をテストするために、valid プロパティを使うことができます。
Maxobj プロパティ
rect (Array, get/set)
パッチャー内のオブジェクトの位置。オブジェクトの矩形領域が変更されると、オブジェクトが可視の場合にはスクリーン上を移動します。座標は、左、上、右、下の順序で格納されます。
maxclass (String, get)
オブジェクトの Max クラス(標準の class プロパティを介してアクセスされる Javascript クラス "Maxobj" に対して)です。
patcher (Patcher, get)
Maxobj を含む Patcher オブジェクト
hidden (Boolean, get/set)
オブジェクトがロックされたパッチャー内で非表示かどうか?
colorindex (Number, set/get)
オブジェクトが標準の 16 色の内の1つを使うようにセットされている場合、このプロパティは色のインデックスになります。
nextobject (Maxobj, get)
パッチャーのオブジェクトのリストで、このオブジェクトの次に他のオブジェクトが存在する場合、このプロパティはそれを返します。そうでない場合は nil 値を返します。
varname (String, get/set)
パッチャー内で固有なオブジェクトの名前、Name... ダイアログでセットされるものです。
canhilite (Boolean, get)
オブジェクトがテキスト入力のために選択することができるかどうか(canhilite プロパティが true であるオブジェクトの例として、ナンバーボックスが挙げられます)。
background (Boolean, get/set)
オブジェクトがパッチャーのバックグラウンド・レイヤーにあるかどうか。
ignoreclick (Boolean, get/set)
オブジェクトがクリックを無視するかどうか。
selected (Boolean, get)
アンロック状態のパッチャーで、オブジェクトが選択されているかどうか。
js (jsthis, get)
Maxobj が Max クラスの js オブジェクトを参照している場合、関連した jsthis オブジェクトを返します。
valid (Boolean, get)
Maxobj が有効な Max オブジェクトを参照しているかどうかを返します。
Maxobj メソッド
おそらく、Maxobj に関する最も強力な機能は、Max の中で Max オブジェクトにメッセージを送ることができるのと同じように、Javascriptの中でMaxobj に対して任意のメッセージを送ることができるという機能です。これは、オブジェクトのメソッドを呼び出す場合と同様に行ないます。例えば、ナンバーボックスの Maxobj があって、値を出力せずに そのナンバーボックスに 値 23 をセットしたいという場合、次のように行なうことができます。
n.set(23);
int、
float、
delete のような特定の語は、Javascript のキーワードであり、これらの予約語のためには、配列記法または
message メソッドを使う必要があるということに注意して下さい。例えば、次のように行ないます。
n["int"] = 23;
// または
n.message("int", 23);
以下ののメソッドは全ての Maxobj に共通なものです
message(string, …)
string で指定されたメッセージの後に与えられた任意の追加のアーギュメントを続けて、オブジェクトに送ります。これは、js、jsui、lcd などのインスタンスの場合のように、 "anything" メッセージと共に動的にメッセージを送り出すオブジェクトに対してメッセージを送る場合に役立ちます。
help ()
オブジェクトについて記述してあるヘルプファイルがある場合、それを開きます。
subpatcher (index)
オブジェクトがパッチャーを含んでいる場合、この関数は(Javascript の)Patcher オブジェクトを返します。オプションのインデックスはインスタンスナンバを指定するために使用され、poly~ オブジェクトの場合にのみ適用されます。オブジェクトがサブパッチャーを含んでいない場合、nil 値が返されます。
understands (string)
オブジェクトが、string によって指定されたメッセージをメッセージリストのエントリとして持っている場合にブーリアン値を返します。エントリがユーザが Max から送信できるメッセージでない場合(すなわち、C レベルの "untyped" メッセージ)、false が返されます。これは、js、jsui、lcd 等のインスタンスのようなケースで、"anything" メッセージ と共に動的に送られるメッセージの場合には動作しません。