@neiraza

2匹の怪獣が寝た後にプログラマーしてる、最近はサイバーエージェントでゼミ長もしてる僕のネタ帳

iPhoneアプリ開発講座を受講する その5

[iPhone][cocos2d]

TBSのバーカバーカ

今日は妻の友人であり、私も何度も酒を酌み交わした女性が
出産したという事で、様子を見に行ってきた。

一家総出で迎撃しにいったわけだが、
帰宅時に「西武新宿線の脱線事故」の影響を受け、散々な目にあった。

特に一番目立って迷惑だったのが「TBS」。
彼らも仕事なんだろうけど、報道?という使命にかられて、周囲の迷惑を感じないってのは愚かだと思う。

何でかというと、西武新宿駅の改札外でTBS取材陣がカメラやマイク等の機材を用い、
派手にインタビューしていたおかげで、改札の中に入るのに苦労した。
こっちは二人の子供と荷物を抱えてるので、イライラしていたのも有り、
もっと端でやれよとムキーと思ったが、子供の手前、我慢した。

オワコンどもは、端の方で薄い酸素でも吸ってろよ。

さて、今日も怒りに震えながら、金曜日に参加してきた講座のまとめをしようかと。

iPhoneアプリ開発講座まとめ

第3回アプリ開発講座より、cocos2dに入った。
しかも、次回はゲームを1本作成して持ってくるという宿題になった。
ゲーム企画は出来たけど、色々と出来ない事が山積みで、なかなか苦労しそうだわ。

ラベルを4隅に表示してみた

f:id:redogu:20111224231941p:plain
ソースはこんな感じ。

CCLabelTTF *label1 = [CCLabelTTF labelWithString:@"1" fontName:@"Chalkduster" fontSize:64];
[label1 setAnchorPoint:ccp(0, 1)];
[label1 setPosition:ccp( 0 , 320 )];
[label1 setColor:ccc3(255, 0, 0)];
[self addChild: label1];
                
CCLabelTTF *label2 = [CCLabelTTF labelWithString:@"2" fontName:@"Chalkduster" fontSize:64];
[label2 setAnchorPoint:ccp(1, 1)];
[label2 setPosition:ccp( 480 , 320 )];
[label2 setColor:ccc3(0, 255, 0)];
[self addChild:label2];
        
CCLabelTTF *label3 = [CCLabelTTF labelWithString:@"3" fontName:@"Chalkduster" fontSize:64];
[label3 setAnchorPoint:ccp(0, 0)];
[label3 setPosition:ccp( 0, 0)];
[label3 setColor:ccc3(0, 0, 255)];
[self addChild:label3];

CCLabelTTF *label4 = [CCLabelTTF labelWithString:@"4" fontName:@"Chalkduster" fontSize:64];
[label4 setAnchorPoint:ccp(1, 0)];
[label4 setPosition:ccp(480, 0)];
[label4 setColor:ccc3(255, 255, 0)];
[self addChild:label4];

これのポイント

CCなんちゃら

ラベルを使う際は、「CCLabelTTF」を使用する。cocos2dの場合はccと頭についている模様。
cocos2dでは「ccp」とか「ccc3」とか表現を簡易的なものにしたものもあって便利。

解像度

iPhone3以前は320x480だったのだが、iPhone4以降は640x960。
「リソースは2個用意する」、「座標とかは旧の方で一回集める」

表示位置

labelを表示する際、デフォルトでは中心点を基準に座標通りの場所へ配置(setPosition)している。
そこを考えずに配置すると、上記の画面に配置した1〜4の文字は、中心点が指定した座標の位置に来てしまう為、
全部、見切れた形になってしまうことだろう。
そこで、setAnchorPointを使って、labelのどの位置を基準点にするかデフォルトから変更する事が出来る。
デフォルトは(0.5 , 0.5)であり、(0 , 0)はlabelの左下となっている。
ちなみに画面自体の座標も左下が(0 , 0)となっている。
そこをふまえて、ソースをみてもらえると有り難し。


次回エントリは・・・・
画面上のラベルやボタンを動かしたり、画面タップでストップする機能について整理します。