|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
Quartz Composerのコンポジションは、メインルーチンと多数のサブルーチンで構成されるCやObjective-Cの複雑なプログラムに似ています。ルートマクロパッチは、概念的にはメインルーチンに相当します。マクロパッチ(または単にマクロ)は、従来のプログラムにおけるサブルーチンに相当します。サブルーチンと同様に、マクロからは別のマクロを使用する(呼び出す)ことができます。つまり、マクロをネストして、コンポジション内でパッチ階層を形成することが可能です。
Quartz Composerでは、ユーザがサブパッチを追加する必要のあるマクロがいくつか提供されています。たとえば、Lightingパッチというマクロがあります。このパッチを使用してオブジェクトに照明を当てるには、照明を当てる対象となるオブジェクトを作成するパッチを、Lightingパッチの内部に配置します。また、カスタムマクロを作成することもできます。パッチコレクションをマクロとしてまとめることで、複雑なコンポジションが管理しやすくなり、可読性も高くなります。マクロパッチの外観はほかのパッチとは異なります。Figure 1-13にある各種のパッチを見るとわかりますが、マクロの角は角ばっていて、その他のパッチの角は丸くなっています。
Figure 1-14に、階層的なコンポジションを示します。階層ブラウザ内のマクロ名をクリックすると、そのマクロを構成しているサブパッチが表示されます。この例では、ブラウザのツールバーのすぐ下で「Root Macro Patch」>「Lighting」>「Camera」>「Replicate in Space」の順にハイライト表示されていることがわかります。ブラウザの下にあるワークスペースには、このコンポジションのCameraマクロに含まれているサブパッチとして、Randomパッチの3つのインスタンスと、LFO、およびReplicate in Spaceがあります。
ルートマクロパッチの概念は重要です。ルートマクロパッチの入力ポートと出力ポートによって、コンポジションの入力パラメータと出力パラメータが定義されるからです。これらのパラメータには、Interface BuilderのCocoaバインディングを通じてアクセスするか、コードから直接アクセスできます。“ポートの公開とコントロールへのバインド”および“QCRendererを使ったコンポジションの再生”で、これらの作業を実現する方法について説明しています。
| < Previous PageNext Page > |
Last updated: 2006-12-05
|
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 |