CCRenderTexture“Scratch Off”getUiimage留下大纲

时间:2013-09-07 16:58:43

标签: ios image cocos2d-iphone

我使用Steve Oldmeadow的例子成功实现了“Scratch Off”功能。 然后我从渲染纹理创建一个精灵。

我的问题是图像周围有轮廓。认为它与混合/透明度有关,但无法弄清楚如何摆脱轮廓。

感谢您的帮助。

相关守则:

-(id) init
{
 burnSprite = [CCSprite spriteWithFile:@"burn100.png"];
 [burnSprite setBlendFunc:(ccBlendFunc) { GL_ZERO, GL_ONE_MINUS_SRC_ALPHA }];

 scratchOffImage = [[CCSprite spriteWithFile:@"foot.png"] retain];
 scratchLayer = [CCRenderTexture renderTextureWithWidth:size.width height:size.height];
 scratchLayer.position =  ccp(size.width*.5 , size.height*.5);
 [[scratchLayer sprite] setBlendFunc: (ccBlendFunc) { GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA }];
 [self addChild:scratchLayer z:20];

. . .


- (void) drawTexture {
    [scratchLayer begin];

    glColorMask(0.0f, 0.0f, 0.0f, 1.0f);      // Limit drawing to the alpha channel
    [burnSprite visit];                       // Draw
    glColorMask(1.0f, 1.0f, 1.0f, 1.0f);      // Reset color mask

    [scratchLayer end];
}    


-(void)getImage{
    CCSprite *sprite = [CCSprite spriteWithCGImage:[scratchLayer getUIImage].CGImage   key:@"myNewImage"];
    sprite.position = foot.position;
    [self addChild:sprite z:40];

0 个答案:

没有答案