cocos2d-js 精灵设置裁剪区域的方法

Cocos2d-x3.0 

//a static method 

Sprite* HelloWorld::maskedSpriteWithSprite(Sprite* textureSprite, Sprite* maskSprite) 

// 1 

RenderTexture * rt = RenderTexture::create( maskSprite->getContentSize().width, 

maskSprite->getContentSize().height ); 

// 2 

maskSprite->setPosition(maskSprite->getContentSize().width/2, 

maskSprite->getContentSize().height/2); 

textureSprite->setPosition(textureSprite->getContentSize().width/2, 

textureSprite->getContentSize().height/2); 

// 3 

maskSprite->setBlendFunc( BlendFunc{GL_ONE, GL_ZERO} ); 

textureSprite->setBlendFunc( BlendFunc{GL_DST_ALPHA, GL_ZERO} ); 

// 4 

rt->begin(); 

maskSprite->visit(); 

textureSprite->visit(); 

rt->end(); 

// 5 

Sprite *retval = Sprite::createWithTexture(rt->getSprite()->getTexture()); 

retval->setFlippedY(true); 

return retval; 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容