2009/05/16

報告 15日分

研究目的

ネイティブアプリケーション「イライラ棒」の開発



これまでの作業内容

サンプルコード「MoveMe」「HelloWorld」の解析。
MoveMeからはアイコンの画像をタッチしている指に追尾させるメソッド、HelloWorldからはタッチしている場所の色情報(RGB)のを取得する方法を勉強。

HelloWorldのコードはmain.mのみで構成され、nibファイルを用いていない。
そこで、複数の.hファイルと.mファイル、そしてnibファイルから成るMoveMeにHelloWorldの内容を移植する作業の途中で今日の作業を終了とする。

Helloworldのmain.mは下の4つのクラス(SampleAppDelegate、HelloControllr、BitMapView、CrossHairView)と2つの宣言(unsigned char *RequestImagePixelData、CGContextRef CreateARGBBitmapContext (CGImageRef inImage, CGSize size) )で構成されていることが分かった。

SampleAppDelegateの内容をMoveMeAppDelagate.mに、残りのクラスと宣言をMoveMeView.mに書き込んだ。

ビルドと実行まではうまくいったが、コンソールで読み取る値がおかしい。
なおかつ画面上で一定以上のY座標の高さに指をなぞらせるとどの値も0しか表示しなくなり、何らかエラーでデバギングも終了してしまい事態が発生した。

きっと読み取るべきViewを間違っているのだと思う。

そこで、明日はこの2つの違いについて解析していくことから始める。

MoveMeAppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application {
UIViewController *aViewController = [[UIViewController alloc] initWithNibName:@"MoveMeView" bundle:[NSBundle mainBundle]];
self.viewController = aViewController;
[aViewController release];
UIView *controllersView = [viewController view];
[window addSubview:controllersView];
[window makeKeyAndVisible];
[application setStatusBarHidden:YES];
}



HelloWorld内のmain.m
@implementation SampleAppDelegate
- (void)applicationDidFinishLaunching:(UIApplication *)application {
UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
HelloController *hello = [[HelloController alloc] init];
[window addSubview:hello.view];
[window makeKeyAndVisible];
[application setStatusBarHidden:YES];
}

他にも移植した際に不手際があったかもしれないので、それに付いても1から検討し直していきたい。

0 件のコメント:

コメントを投稿