MAXScript Zip ファイルのドラッグ アンド ドロップ

MAXScript の OLE ベースのドラッグ アンド ドロップ システムでは、MAXScript .mzp zip パッケージをドロップすることもできます。これらのパッケージは、i-drop 対応 Web ページから、またはファイル ディレクトリから直接(たとえば、Windows エクスプローラや新しい MAX アセット ブラウザから)ドロップすることができます。

この機能の主な目的は、スクリプト パッケージを MAX にドロップして、特にパッケージ化された dropScript を自動的に実行できるようにすることです。ただし、パッケージには任意の種類のファイルを含めることができるため、たとえば、シーン ファイルとそのマップ ファイルおよびその他のサポート ファイル、または新しいプラグインなど、任意のファイルのセットをドラッグするために使用することができます。mzp.run コントロール ファイルでは、extract to、copy、および move コマンドを使用して、パッケージ内のファイルに任意の配置を設定することができます。これは、i-drop に表示されるすべてのダウンロード済みファイルを、単純に MAX のダウンロード ディレクトリに配置する現在の i-drop パッケージ ドロップ メカニズムの代替方法として使用すると便利です。

.mzp ドロップ プロトコル

.mzp パッケージをドロップする場合、i-drop コントロールを通じてドロップするか、またはファイル ディレクトリから直接ドロップするかによって、発生するイベントの順序は少し異なります。つまり、i-drop の場合は、パッケージを先にダウンロードした後で抽出が行われますが、ファイル ディレクトリからのドロップの場合は、そのファイルから直接抽出が行われます。また、パッケージで指定された dropScript の「the 'on droppable'」ハンドラは、i-drop を使用してパッケージがドロップされた場合にのみ実行されます。ファイル ディレクトリからのドロップは、「'on droppable'」テストを実行する場合にドラッグ オーバー コールバックを提供しないシステム制御アクションです。

i-drop からのドロップの場合、まず .mzp ファイルは、i-drop XML ファイルで指定された他のファイルと一緒に <max>\\downloads ディレクトリにダウンロードされます。このディレクトリに既に存在するファイルは上書きされます。.mzp ファイルが i-drop ファイル セットの最初のファイルの場合、.mzp ファイルは基本ドロップ ファイルとなり、次の .mzp 処理が続行されます。次に、.mzp ファイルはシステムのメイン TEMP ディレクトリ内の新しい一時ディレクトリに抽出され、mzp.run コントロール ファイルが実行されます。パッケージに mzp.run ファイルがない場合は、.mzp パッケージの最初のファイルがドロップされ、そのファイル形式に適切な任意のドロップ プロトコルが使用されます。mzp.run コントロール ファイルがある場合、通常、このファイルには、extract to、move、および copy コマンドが含まれており、このコマンドを使用して、パッケージから抽出されたファイルの配置をコントロールします(たとえば、$maps & scene ファイルのテクスチャ ファイルを $scene に配置します)。

初期ロードの後の mzp.run ファイルの実行中に、すべての「'copy'」および「'move'」コマンドが実行され、「'drop'」コマンドが検索されます。drop コマンドで指定されたファイルは、その後のドロップ処理のために記憶されます。'run''open''import''merge''xref' のコマンドは無視されます。「'drop'」コマンドが複数見つかった場合、最初のものだけが実行されます。

ドロップ ファイルは、mzp.run ファイルの「'drop'」コマンドで指定されたため、または .mzp パッケージの最初のファイルであるため(mzp.run ファイルまたは drop コマンドがない場合)、この時点でドロップ ファイルとして認識されます。ドロップ ファイルが .ds ファイル ではない場合、そのファイルに適切なドロップ プロトコルが使用されます。ドロップ ファイルが .ds dropScript で、ドロップが i-drop から実行される場合は、マウスが MAX のウィンドウから他の場所に移動するたびに、dropscript の「'on droppable'」ハンドラが繰り返し実行され、カーソルは有効なドロップ ターゲットを示すように変化します。ドラッグ アンド ドロップがファイル ディレクトリから実行される場合、カーソルは + 記号付きの矢印で表示されますが、「'on droppable'」ハンドラは呼び出されません。これは、Windows の簡易ファイル ドラッグ アンド ドロップの制限によるものです。マウス クリックが解放されると、「'on droppable'」ハンドラがターゲット ウィンドウおよびオブジェクトで呼び出されます。OK が返された場合、またはハンドラが指定されていない場合は、「'on drop'」ハンドラが呼び出されます。このプロトコルは、.ds dropScript ファイルが .mzp パッケージ内にない場合に、ファイルを直接ドロップする操作と同じです

注:

「drop」コマンドで、イメージ ファイルやシーン ファイルなどの dropScript 以外のファイル形式を指定することができます。これにより、スクリプトに限らず、任意の種類のパッケージをドロップする際に .mzp のドラッグ アンド ドロップを使用することができます。