CCClippingNode

2023-10-30 21:18
文章标签 ccclippingnode

本文主要是介绍CCClippingNode,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

版本:
CCClippingNode

代码出处:
CCClippingNode

运行效果:
CCClippingNode

图片资源:
CCClippingNode CCClippingNode


学习:

1. CCClippingNode* m_pOuterClipper

m_pOuterClipper->setStencil( target );//裁剪模型是abcd图片的区域,即透过该图看到下面的东西

m_pOuterClipper->addChild(holesClipper);//可以看到所有弹孔效果

------------------------------------------------

2. CCClippingNode* holesClipper

holesClipper->setStencil( m_pHolesStencil);//裁剪模型是hole_stencil,即透过该图看到下面的东西

 holesClipper->addChild(target);//可以看到abcd图

 holesClipper->addChild(m_pHoles);//可以看到hole_effect

------------------------------------------------

3.ccTouchesBegan(CCSet* touches, CCEvent* event)    

CCNode* m_pHoles;   m_pHoles->addChild(hole);//touch后,在触摸点添加hole_effect

CCNode* m_pHolesStencil;  m_pHolesStencil->addChild(holeStencil);//touch后,在触摸点添加hole_stencil 

------------------------------------------------

4.holesClipper->setInverted(true);

默认是false,用于设置显示底板还是显示模板

------------------------------------------------

5.holesClipper->setAlphaThreshold( 0.05f );

设置alpha值(0~1),默认是1,也就是完全裁剪。裁剪是按像素抠图的,所以只有大于这个alpha值的模板像素才会被画出来,

------------------------------------------------

6.CCAffineTransform tranform = CCAffineTransformMakeIdentity();//取得一个单位矩阵,或把矩阵恢复默认状态,即清零

    tranform = CCAffineTransformScale(tranform, target->getScale(), target->getScale());//在已有的变形上继续缩放

    m_pOuterClipper->setContentSize( CCSizeApplyAffineTransform(target->getContentSize(), tranform));//CCSizeApplyAffineTransform运用到一个区域(size)中

变形CCAffineTransform参考:http://blog.csdn.net/lc_obj/article/details/17454825

这篇关于CCClippingNode的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310648

相关文章

CCClippingNode(Clip修剪 可以实现新手引导遮罩、滚动字幕。。渲染child时仅渲染模板透明度值大于透明度阀值的像素点.默认透明度阀值 =1)

http://blog.csdn.net/univcore/article/details/42149725          Cocos2d-x开发--使用CCRenderTexture将矩形图片裁剪成圆形显示            CCNode* m_pStencil;//模板   简单的模板可以用CCDrawNode 、 CCLayerColor来做 。 复杂的可以通过ccs