使用另一个CCSprite / CCNode剪辑CCSprite / CCNode - Cocos2D

时间:2014-11-17 15:22:31

标签: ios cocos2d-iphone clipping spritebuilder

我可以在iOS中使用本机编码进行剪辑,但是,我希望使用SpriteBuilder移植到Android,我想使用Cocos2D剪辑2个CCSprites。

我希望做到以下几点:

enter image description here

我见过只支持Cocos2D 2的库但是我使用的是最新版本,这些似乎不再起作用。

我将如何实现这种影响?

1 个答案:

答案 0 :(得分:0)

对于任何寻找类似修复的人来说,以下是Cocos2D的原生。

//Get Screen size
    CGSize winSize = [[CCDirector sharedDirector] viewSize];

//Set Clipping Sprite
    CCSprite *heroClip = [CCSprite spriteWithImageNamed:@"stamina/MenuHappinessWhite.png"];
    heroClip.position = ccp(winSize.width/2, winSize.height/2); // Middle of screen

//Set Sprite below Clipping
    CCSprite *heroUnder = [CCSprite spriteWithImageNamed:@"stamina/MenuLevel.png"];
    heroUnder.position = ccp(winSize.width/2, winSize.height/2);
    heroUnder.scaleY = 0.5f;

    // Create Clipping Node
    CCClippingNode *scissor = [CCClippingNode clippingNodeWithStencil:heroClip];
    [scissor setContentSize:self.contentSize];
    [scissor setPositionType:CCPositionTypeNormalized];

    [scissor setAlphaThreshold:0.0];

    //[scissor setInverted:YES];
    [self addChild:scissor];

    // Add nodes to Clipping Node
    [scissor addChild:heroUnder];

并将其添加到app delegate

   //Load Clipping Mask
    [cocos2dSetup setObject:@GL_DEPTH24_STENCIL8_OES forKey:CCSetupDepthFormat];