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

< Previous PageNext Page >

パッチ階層

Quartz Composerのコンポジションは、メインルーチンと多数のサブルーチンで構成されるCやObjective-Cの複雑なプログラムに似ています。ルートマクロパッチは、概念的にはメインルーチンに相当します。マクロパッチ(または単にマクロ)は、従来のプログラムにおけるサブルーチンに相当します。サブルーチンと同様に、マクロからは別のマクロを使用する(呼び出す)ことができます。つまり、マクロをネストして、コンポジション内でパッチ階層を形成することが可能です。

Quartz Composerでは、ユーザがサブパッチを追加する必要のあるマクロがいくつか提供されています。たとえば、Lightingパッチというマクロがあります。このパッチを使用してオブジェクトに照明を当てるには、照明を当てる対象となるオブジェクトを作成するパッチを、Lightingパッチの内部に配置します。また、カスタムマクロを作成することもできます。パッチコレクションをマクロとしてまとめることで、複雑なコンポジションが管理しやすくなり、可読性も高くなります。マクロパッチの外観はほかのパッチとは異なります。Figure 1-13にある各種のパッチを見るとわかりますが、マクロの角は角ばっていて、その他のパッチの角は丸くなっています。


Figure 1-13  マクロの角は角ばっているが、その他のパッチの角は丸い

Macro patches have squared corners; other patches have rounded corners

Figure 1-14に、階層的なコンポジションを示します。階層ブラウザ内のマクロ名をクリックすると、そのマクロを構成しているサブパッチが表示されます。この例では、ブラウザのツールバーのすぐ下で「Root Macro Patch」>「Lighting」>「Camera」>「Replicate in Space」の順にハイライト表示されていることがわかります。ブラウザの下にあるワークスペースには、このコンポジションのCameraマクロに含まれているサブパッチとして、Randomパッチの3つのインスタンスと、LFO、およびReplicate in Spaceがあります。

ルートマクロパッチの概念は重要です。ルートマクロパッチの入力ポートと出力ポートによって、コンポジションの入力パラメータと出力パラメータが定義されるからです。これらのパラメータには、Interface BuilderのCocoaバインディングを通じてアクセスするか、コードから直接アクセスできます。“ポートの公開とコントロールへのバインド”および“QCRendererを使ったコンポジションの再生”で、これらの作業を実現する方法について説明しています。


Figure 1-14  コンポジションのパッチ階層の例

The patch hierarchy for a sample composition



< 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