プロジェクトの作成 |
「HelloWorld」アプリケーションを実際に作成しながら、プロジェクトの作成の流れを説明していきます。
(1)プロジェクトを新規作成する |
「Xcode」を起動します。
「File」-「New」-「New Project...」を実行します。
左側の「iOS」の「Application」を選択し、「Empty Application」を選んで「Next」ボタンを押します。
「Product Name」に「HelloWorld」と入力
「Company Identifier」に「net.satis」と入力
「Device Family」を「iPhone」に
「Use Core Data」のチェックを外す
「Use Automatic Reference Counting」のチェックを外す
「Include Unit Tests」のチェックを外す
「Next」ボタンを押します。
保存先を聞いてきますので、フォルダを選択して「Create」ボタンを押します。
(2)MyCanvasクラスをプロジェクトに追加する |
「HelloWorld」グループをマウス右クリックして、「New File...」を実行します。
左側の「iOS」の「Cocoa Touch」を選択し、「Objective-C class」を選んで「Next」ボタンを押します。
「Class」に「MyCanvas」と入力
「Subclass of」を、とりあえず「NSObject」に
「Next」ボタンを押します。
(3)D2iPのファイルをプロジェクトに追加する |
「HelloWorld」グループに、「Finder」から以下のファイルをドラッグ&ドロップします。
_Canvas.h
_Canvas.m
_Graphics.h
_Graphics.m
_Main.h
_Main.m
追加方法を聞いてきますので、「Copy items into destination group's folder (if needed)」のチェックを外し、「Create groups for any added folders」を選択して「Finish」ボタンを押します。
(4)各種ファイルの内容を記述する |
各種ファイルの内容を、デフォルトの内容を一旦消去してから以下のように記述します。
AppDelegate.h:
#import "_Main.h" @class MyCanvas; @interface AppDelegate : _Main { MyCanvas* canvas; } @end |
AppDelegate.m:
#import "AppDelegate.h" #import "MyCanvas.h" @implementation AppDelegate - (int)_orientation { return ORIENTATION_LANDSCAPE; } - (void)_start { canvas = [[MyCanvas alloc] init]; [self setCurrent:canvas]; } - (void)_destroy { [canvas release]; } @end |
MyCanvas.h:
#import <Foundation/Foundation.h> #import "_Canvas.h" @interface MyCanvas : _Canvas { NSString* str; int w, h; int x, y; int dx, dy; int elapse; } @end |
MyCanvas.m:
#import "MyCanvas.h" @implementation MyCanvas - (int)_frameTime { return 33/*1000 / 30*/; } - (void)_init { _Graphics* g = [self getGraphics]; [g setFontSize:20]; str = [[NSString stringWithString:@"Hello World !!"] retain]; w = [g stringWidth:str]; h = [g fontHeight]; x = 0; y = h; dx = 5; dy = 5; elapse = 0; } - (void)_end { [str release]; } - (void)_paint:(_Graphics*)g { elapse++; x += dx; if( (x <= 0) || (x >= [self getWidth] - w) ) { dx = -dx; } y += dy; if( (y <= h) || (y >= [self getHeight]) ) { dy = -dy; } [g lock]; [g setColor:[_Graphics getColorOfRGB:255 :255 :255]]; [g fillRect:0 :0 :[self getWidth] :[self getHeight]]; [g setColor:[_Graphics getColorOfRGB:0 :0 :255]]; [g drawString:[NSString stringWithFormat:@"%d", elapse] :0 :24]; [g drawString:str :x :y]; [g unlock]; } @end |