記事一覧

cocos2d-iPhone自分用メモ

■cocos2dのリファレンスをXCode内で読めるようにする方法:
http://www.cocos2d-iphone.org/archives/358
サラッと書いてあるけどちょっと混乱したな。
まずDoxygenなるものをインストールして、
そのあと cocos2d-iphone-0.8.2.tar.gz に含まれてた
cocos2d-iphone.xcodeprojを開くという手順なのね。
で、あとはリンク先にあるようにビルドすれば完成、と。
ひとまずこれで、右クリック->定義をAPIリファレンスで探す が使えるようになって便利。

■AtlasSprite
v0.8からSpriteじゃなくてAtlasSpriteの方が推奨になっている様子(たぶん)。
一個一個のスプライトにそれぞれ画像ファイルを割り当てるSpriteと違って、AtlasSpriteは大きな画像ファイルから一部を切り取ってスプライトに用いる仕組みをとっている。
なんか面倒だな、と一瞬思ったが、スプライトの数が増えたりアニメーションのコマ数が増えたりすると画像がひとつのファイルにまとまっているのは便利だ。
あとさらに、従来のSpriteに比べるとそうとう高速、というメリットもあるらしいが、そんなにたくさんスプライトを使うゲームを作ってないので そこのありがたみはまだよくわからん。

AtlasSpriteの追加方法:
mgr = [AtlasSpriteManager spriteManagerWithFile:@"sprites.png"];
[self addChild:mgr z:priority];
spr = [AtlasSprite spriteWithRect:CGRectMake(x1, y1, w1, h1) spriteManager:mgr];
[mgr addChild:spr];

※x1,y1,w1,h1はsprites.png内から切り取ってくる範囲。
 別の範囲を切り取って別のスプライトを作りたければ
 spr2 = [AtlasSprite spriteWithRect:CGRectMake(x2, y2, w2, h2) spriteManager:mgr];
 [mgr addChild:spr2];

(11/14訂正)
CGRectMakeの3個目・4個目の引数は右下の座標じゃなくて
長方形の大きさでした。間違えて思いっきりハマッた・・


あとAtlasSpriteのスプライトはデフォルトでアンチエイリアスがかかってる。
→AtlasSpriteManagerのアンチエイリアスを解除する方法:
[mgr.texture setAliasTexParam];