読者です 読者をやめる 読者になる 読者になる

CCRenderTextureでCCSpriteを合成する

Cocos2d-iphone
CCSprite *test1 = [CCSprite spriteWithFile:@"test1.png"];
CCSprite *test2 = [CCSprite spriteWithFile:@"test2.png"];

// サイズは任意のでアレ
CCRenderTexture *renderTexture = [CCRenderTexture renderTextureWithWidth:(int) test1.contentSize.width * 2
                                                                  height:(int) test1.contentSize.height * 2];

[renderTexture begin];

// visitする前に適当にspriteのpositionいじると任意の場所に描画出来るっぽい。
[test1 visit];
[test2 visit];
[renderTexture end];

CCSprite *sprite = [CCSprite spriteWithTexture:renderTexture.sprite.texture];
sprite.position = CGPointMake(size.width / 2, size.height / 2);
[self addChild:sprite];

参考
How to use CCRenderTexture for Motion Blur, Screenshots and Drawing Sketches | Learn & Master Cocos2D Game Development


2012/08/15 13:53 追記
そういえばOpenGLの仕様で、(0, 0)が左上になる。
そんで、普通にやると画像が逆さになって表示される。

sprite.scaleY = -1;
ってして対応したんだけど、なんか方法ないんすかね。