Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page >

パッチ

Quartz Composerの基本的な要素となるのがパッチです。従来のプログラミング言語におけるルーチンと同じように、パッチは基本的な処理単位となるもので、実行すると結果が得られます。パッチは次のものに相当します。

結果 = 関数 (時間, {0個以上の入力パラメータ})

パッチを作業領域にドラッグし、それらを互いに接続することによってコンポジションを作成します。パッチ上の円はポートを表します。パッチの左側が入力ポートで右側が出力ポートです。ポートは自分自身を通じてパラメータを渡します。つまり、ポートはパラメータとして扱うことができます。ポート間の接続によって、コンポジションが実行されるときのデータの流れが定義されます。ルーチンと同様に、すべてのパッチが入力パラメータを受け取るわけではありません。Figure 1-5に示す3つのパッチは、ポートが持つことのできるさまざまな構成を示しています。

LFO (Low Frequency Oscillator)パッチには入力と出力の両方のポートがあります。Type、Period、Phase、Amplitude、Offset、およびPWM Ratioの6つの入力ポートによって、特定の時点における発振の振幅の計算に使用されるデータが提供されます。算出された振幅の値は、パッチの出力ポートから利用できます。Mouseパッチには入力ポートがありませんが、マウスの位置とボタンの状態を示す4つの出力ポートがあります。多くのパッチと同様に、LFOパッチとMouseパッチでは別のパッチへの入力として使用される出力が生成されます。もう1つのSpriteパッチには、多数の入力ポートがありますが、出力ポートはありません。その代わりに、Spriteパッチの結果はレンダリング先にレンダリングされます。


Figure 1-5  パッチの例

Sample patches

In this section:

ポートのデータ型
入力ポートの値
パッチ間の接続
出力ポートの値


ポートのデータ型

入力ポートと出力ポートでは各種のデータ型をサポートしています。ブール値、インデックス、数値、色、および文字列の値は、コピー渡しされます。画像や構造体などのオブジェクトは、参照渡しされます。各ポート型に対応するCocoaクラスをTable 1-1に示します。従来のプログラミング言語でルーチンを使用するときとまったく同様に、プログラムからポートにアクセスするときは、必ず適切な型を指定する必要があります。Quartz Composerでは、可能な場合、必要に応じて変換が自動的に行われます。

Table 1-1  ポートの型および対応するクラス

ポートの型

クラス

Boolean(ブール値)、Index(インデックス)、Number(数値)

NSNumber

Color(色)

NSColor

Image(画像)

NSImage、CIImage

String(文字列)

NSString

Structure(構造体)

NSArray、NSDictionary

入力ポートの値

入力ポートの上にポインタを保持すると、入力ポートの現在の値を示すヘルプタグが表示されます。Figure 1-6に示すように、ヘルプタグにはポートとそのデータ型についての簡単な説明も表示されます。入力ポートがオブジェクトポートでない場合、ポートの値を編集できます。これには、ポートに対応する円をダブルクリックし、テキストエディタに新しい値を入力します。値を有効にするにはReturnキーを押し、キャンセルするにはEscキーを押します。入力ポートにはデフォルト値があり、オブジェクトポートのデフォルト値は常にnullです。


Figure 1-6  入力ポートのヘルプタグ

The help tag for an input port

入力ポートを調べて値を設定したり、「Inspector」を開き「Input Parameters」ペインを表示して入力ポートの入力値を設定したりできます。それには、パッチをクリックし、「Editor」ウインドウの上部にある「Inspector」ボタンをクリックします。Figure 1-7に、「Input Parameters」ペインを開いたBillboardパッチの「Inspector」を示します。


Figure 1-7  BillboardパッチのInspector

The Inspector for a Billboard patch

パッチ間の接続

入力ポートの値は、直接設定するか、(ポートがオブジェクトポートではない場合は)Inspectorを使用してあるパッチの出力を別のパッチの入力に接続することによって設定できます。別々のパッチの入力ポートと出力ポートが結ばれることで、コンポジション内にデータの流れが確立します。出力ポートをクリックし、接続する入力ポートまでドラッグするだけです。接続を確立できるのは互換性のある型を持つポート間のみです。ポートはどちらも同じ型であるか、型変換が可能である必要があります。パッチ間の接続を解除するには、入力ポートをダブルクリックします。すると、コネクタの表示が消えます。Figure 1-8に、パッチ間の典型的な接続を示します。

ヒント:  既存の接続の出力をリダイレクトするには、その出力口をクリックしてコネクタを互換性のある別の入力までドラッグします。


Figure 1-8  パッチの接続

Patch connections

1つのパッチからの出力は、複数のパッチの入力に接続できます。たとえば、Figure 1-8では、LFOパッチのResult出力ポートからMathパッチとSpriteパッチの入力に接続しています。

出力ポートの値

出力ポートの上にポインタを保持すると、出力ポートのヘルプタグが表示されます。Figure 1-9に示すように、ヘルプタグには、ポートの説明とその型、現在値に関する具体的な情報などの便利な情報が表示されます。この例では値は画像であるため、その寸法がサムネイル表現と一緒に表示されます。


Figure 1-9  出力ポートのヘルプタグには便利な情報が表示される

Help tags for output ports contain useful information



< Previous PageNext Page >


Last updated: 2006-12-05




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice