Cocos2d iphone 如何在cocos2dx中对图像实现循环裁剪器?

Cocos2d iphone 如何在cocos2dx中对图像实现循环裁剪器?,cocos2d-iphone,cocos2d-x,cocos2d-x-3.0,cocos2d-android,Cocos2d Iphone,Cocos2d X,Cocos2d X 3.0,Cocos2d Android,目标是在cocos2dx中的配置文件图片上实现->一个圆形裁剪器,这样配置文件图片看起来就像现在whatsapp配置文件图片中的一样。 我想先在配置文件图片上设置一个裁剪器,然后根据需要对其进行缩放。我在cocos2d-xv2.x中使用了RenderTexture。相信这种方法也适用于v3.x。以下是伪代码: sprite* MaskedSpriteWithSprite(textureSpriteName, maskSpriteName) { sprite* textureSprite

目标是在cocos2dx中的配置文件图片上实现->一个圆形裁剪器,这样配置文件图片看起来就像现在whatsapp配置文件图片中的一样。

我想先在配置文件图片上设置一个裁剪器,然后根据需要对其进行缩放。

我在cocos2d-xv2.x中使用了RenderTexture。相信这种方法也适用于v3.x。以下是伪代码:

sprite* MaskedSpriteWithSprite(textureSpriteName, maskSpriteName)
{
    sprite* textureSprite = create(textureSpriteName);
    sprite* maskSprite = create(maskSpriteName);

    textureSprite->setPosition(ccp(textureSprite.width * 0.5f, textureSprite.height * 0.5f));
    maskSprite->setPosition(ccp(maskSprite.width * 0.5f, maskSprite.height * 0.5f));

    renderTexture* rt = renderTexture::create(maskSprite.width, maskSprite.height);

    ccBlendFunc bfMask = ccBlendFunc();
    bfMask.src = GL_ONE;
    bfMask.dst = GL_ZERO;
    maskSprite->setBlendFunc(bfMask);

    // turn off anti-aliasing around the mask sprite
    maskSprite->getTexture()->setAliasTexParameters();

    ccBlendFunc bfTexture = ccBlendFunc();
    bfTexture.src = GL_DST_ALPHA;
    bfTexture.dst = GL_ZERO;
    textureSprite->setBlendFunc(bfTexture);

    rt->begin();

    maskSprite->visit();
    textureSprite->visit();

    rt->end();

    // generate the resulting sprite
    sprite* pOutcome = sprite::createWithTexture(rt->getSprite()->getTexture());
    pOutcome->setFlipY(true);

    return pOutcome;
}

你为什么不试着用剪报呢?