2013-09-24 2 views
1

Вот мой код, как я пытаюсь нарисовать изображение и отверстие на нем. (Код с cocos2d тестового проекта)Cocos2d iPhone CCClippingNode не делает клип

CCSprite *target = [CCSprite spriteWithFile:@"blocks.png"]; 
    target.anchorPoint = CGPointZero; 
    target.scale = 3; 

    CCClippingNode *outerClipper_ = [[CCClippingNode clippingNode] retain]; 
    outerClipper_.contentSize = CGSizeApplyAffineTransform(target.contentSize, CGAffineTransformMakeScale(target.scale, target.scale)); 
    outerClipper_.anchorPoint = ccp(0.5, 0.5); 
    outerClipper_.position = ccpMult(ccpFromSize([CCDirector sharedDirector].winSize), 0.5); 

    outerClipper_.stencil = target; 

    CCClippingNode *holesClipper = [CCClippingNode clippingNode]; 
    holesClipper.inverted = YES; 
    holesClipper.alphaThreshold = 0.05; 

    [holesClipper addChild:target]; 

    CCNode *holes_ = [[CCNode node] retain]; 

    [holesClipper addChild:holes_]; 

    CCNode *holesStencil_ = [[CCNode node] retain]; 

    holesClipper.stencil = holesStencil_; 

    [outerClipper_ addChild:holesClipper]; 

    [self addChild:outerClipper_ z:9999]; 


// Add the hole 

    CCSprite *hole = [CCSprite spriteWithFile:@"hole_effect.png"]; 
    hole.position = [outerClipper_ convertToNodeSpace:ccpMult(ccpFromSize([CCDirector sharedDirector].winSize), 0.5)]; 

    [holes_ addChild:hole]; 

    CCSprite *holeStencil = [CCSprite spriteWithFile:@"hole_stencil.png"]; 
    holeStencil.position = [outerClipper_ convertToNodeSpace:ccpMult(ccpFromSize([CCDirector sharedDirector].winSize), 0.5)]; 

    [holesStencil_ addChild:holeStencil]; 

Все изображения можно найти в тестовом cocos2d проекте.

Проблема в том, что изображения появляются, но на нем нет дыр. Что я делаю неправильно?

ответ

1

Проблема была в том, что я не настроил свой CCGLView правильно. Я должен установить формат глубины в GL_DEPTH24_STENCIL8_OES вместо значения 0.

+0

Любая идея, где установить это для android? Я не могу найти свойство формата глубины где-либо в каталоге Android. – CodyMace

Смежные вопросы