2014年01月06日

[Cocos2d-x] テクスチャアトラスとCCSpriteBatchNodeを使ってスプライトを描画する

また忘れてしまいそうなのでメモ。
テクスチャアトラス(atlas.plist/atlas.png)があって、その中にhoge.pngがある場合、以下のようにすると良い(っぽい)。
 CCSpriteFrameCache *cache = CCSpriteFrameCache::sharedSpriteFrameCache();
cache->addSpriteFramesWithFile("atlas.plist");

CCSpriteBatchNode *batch = CCSpriteBatchNode::create("atlas.png");
addChild(batch);

for (int i = 0; i < 100; i++) {
CCSprite *sprite = CCSprite::createWithSpriteFrameName("hoge.png");
sprite->setPosition(ccp(i, i));
batch->addChild(sprite);
}


  • CCSpriteFrameCacheにはテクスチャアトラスの○○.plist

  • CCSpriteBatchNodeにはテクスチャアトラスの○○.png

  • CCSpriteにはテクスチャアトラス内の□□.png

  • をそれぞれ指定する。
    CCSpriteBatchNodeにもテクスチャアトラス内の画像名を渡していて少しハマっていた…。

posted by t2low at 22:00| Cocos2d-x