0

Cocos2d 2.0 と AWTextureFilter を使用しています。テクスチャをぼかす必要があります。これが私のコードです:

//Create mutable texture
CCTexture2DMutable *texture = [[CCTexture2DMutable alloc] initWithCGImage:[UIImage imageNamed:@"image.png"].CGImage resolutionType:kCCResolutionUnknown];

//Apply blur to the mutable texture
[AWTextureFilter blur:texture radius:10 rect:CGRectMake(0, 0, texture.contentSize.width, texture.contentSize.height)];

//Create sprites to show the textures
CCSprite *sprite = [CCSprite spriteWithTexture:texture];
sprite.position = ccp(winSize.width/2, winSize.height/2);
[layer addChild:sprite];

しかし、その結果、ぼやけた部分だけがスプライトになります(スクリーンショット): http://img62.imageshack.us/img62/182/blura.png

なんでそうなの?

4

1 に答える 1

0

テクスチャ コンテンツのサイズはピクセル単位ではなくポイント単位であるため、コンテンツ スケール ファクタで乗算する必要があると思います。

CGSize size = texture.contentSize;
CGRect rect = CGRectMake(0, 0, 
                         size.width * CC_CONTENT_SCALE_FACTOR(), 
                         size.height * CC_CONTENT_SCALE_FACTOR());
[AWTextureFilter blur:texture radius:10 rect:rect];
于 2013-04-21T14:23:54.897 に答える