プロジェクトを準備する

では、これから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に戻ろう。