プロジェクトを準備する
では、これからCore Animationプログラミングの解説を始めるが、まず基本となるプロジェクトを作成しよう。ウインドウに、ビューとボタンがある、簡単なアプリケーションを作る。
その手順をステップごとに説明していくが、Leopardでは開発環境が大きく変わった。特に、Interface Builderに大きな変更が加えられたので、注意してほしい。このチュートリアルは、Leopard時代の新規アプリケーションの作り方の解説にもなるだろう。
1. 新規プロジェクトを作成
まず、Xcodeを起動しよう。[ファイル]→[新規プロジェクト…]から「Cocoa Application」を選択する。プロジェクトの名前は、「Core Animation Test」としよう。
2. Quartz Coreフレームワークを追加する
プロジェクトが出来たら、プロジェクトウインドウの左側にある「グループとファイル」を選択した状態でコンテキストメニューを表示し、[追加]→[既存のフレームワーク…]を選択する。フレームワークの一覧が表示されるので、そこから「QuartzCore.framework」を選択しよう。
Core Animationは、Quartz Coreフレームワークに含まれている。ちなみに、このフレームワークは他に、Core ImageとCore Videoを含んでいる。
3. Controllerクラスを作成する
続いて、アプリケーション全体のコントローラとなる、Controllerクラスを作成する。旧来の手順では、コントローラとなるクラスはInterface Builderで作っていたが、LeopardからはXcodeで作ることになる。従来の方法では、XcodeとInterface Builderの間でコントローラクラスの同期を手作業で行う必要があり、これを嫌ったらしい。以前の方法に慣れている方は、注意が必要だ。
[ファイル]→[新規ファイル…]メニューを選択する。アシスタントが起動するので、「Objective-C class」を選択する。クラス名は、「Controller」にしておこう。
4. Controller.hを編集する
Controller.hとController.mが追加されたと思うので、Controller.hを編集しよう。次のように編集する。
#import <Cocoa/Cocoa.h>
#import <QuartzCore/QuartzCore.h>
@interface Cnotroller : NSObject {
IBOutlet NSView* _view;
}
- (IBAction)doAnimation:(id)sender;
@end
まず、ヘッダファイルQuartzCore.hを読み込むようにする。これで、Core Animationで使うクラス定義を読み込むことが出来る。
さらに、アウトレットとアクションを追加しよう。変数の宣言の前にある「IBOutlet」と、メソッドの返り値としての「IBAction」を書くのを忘れないでほしい。これらがInterface Builderとの同期で使われる。
5. MainMenu.nibを編集する
ユーザインタフェースを作成しよう。MainMenu.nibをダブルクリックして開いてほしい。
ウインドウが開いているので、カスタムビューを貼付ける。GUI部品は、新しくなったライブラリパネルから探してくる。
また、ボタンも追加しよう。次の図のようにユーザインタフェースをデザインしてほしい。
6. Controllerのインスタンスを追加する
ライブラリより、今度はObjectを選択して、nibウインドウに追加する。Identity Inspectorを開いて、クラスをControllerとしよう。
7. アウトレットとアクションを接続する
Controllerのインスタンスから、_viewアウトレットとdoAnimation:アクションを接続する。_viewアウトレットは、ウインドウ上のカスタムビューに。doAnimation:は、ボタンから接続しよう。それぞれ、これはいつも通りに、コントロールキーを押しながらドラッグする。接続先を表すウインドウが、ドロップした近辺に出るところが新しい。
これでInterface Builderでの作業は終わりだ。保存してXcodeに戻ろう。