![]() |
つくれる?iPhoneアプリ
cocos2dを使ったiPhoneアプリ制作を解説してみる その10 |
どのページでも ご自由にリンクしてください。 感想ご要望はお気軽に! info@taskinteractive.com ■順番に解説 ・導入 その1 導入 その2 HelloWorld その3 わからない単語でも安心 その4 いじるファイルと画面構成 その5 ソースにある単語を手探る その6 実行の順を追って手探る その7 クラスの名前と素性を手探る ・サンプル1 その8 ボール遊び1 Scene/Layer/Sprite その9 ボール遊び2 ファイル名を変えてみる その10 ボール遊び3 ソースをいじってみる ■項目ごとに解説 クラスの解説 その1 クラスって何? クラスの解説 その2 インスタンスって何? クラスの解説 その3 オブジェクト指向って何? |
まずはボールを表示する
前回は、テンプレートにある『HelloWorldScene.h/HelloWorldScene.m』というファイルのファイル名を変更して、それにあわせてソースに記載された import 関係を修正することをしてみました。 Sprite *imgObject = [[Sprite alloc] initWithFile:@"ball.png"]; imgObject.position = ccp(100,100); [self addChild:imgObject]; どのファイルのどこに追加するかわかりましたか? そう、ballLayer.m の -(id) init{} の中ですね。 -(id) init { if( (self=[super init] )) { Label* label = [Label labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64]; CGSize size = [[Director sharedDirector] winSize]; label.position =? ccp( size.width /2 , size.height/2 ); [self addChild: label]; Sprite *imgObject = [[Sprite alloc] initWithFile:@"ball.png"]; imgObject.position = ccp(100,100); [self addChild:imgObject]; } return self; } コメントを削除してまとめると、こんな感じになるはずです。 ビルドすると、ちゃんと表示されたと思います。 次はちょっとややこしく
ボールを表示することができました。 +(id) scene この部分です。 普通であれば、ここは -(id) scene こう書きたいところなのです。 その違いは何ぞや、というと… いやな言葉が出てきますよ… 『クラス・メソッド と インスタンス・メソッド の違い』です。 いやでしょう! ですので、ここの説明はすっとばして、『どうすればゲーム作りに近づくか』ということに重きをおいて、次の回の解説を進めたいと思います。 ここでは、同じメソッド(関数)でも、実行のさせ方に違いがあって、そのさせ方の違いが、プラスとマイナスの記号の違いだ、ぐらいに思っておいてください。 クラスとインスタンスの説明を読みたい方は、個別エントリーのこちらをどうぞ! ・クラスの解説 その1 クラスって何? ・クラスの解説 その2 インスタンスって何? |