Cocos2d-x 图像渲染和动画——裁剪(ClippingNode)
来源:互联网 发布:sql修改列默认值 编辑:程序博客网 时间:2024/06/05 05:04
概述
ClippingNode(裁剪节点)可以用来对节点进行裁剪,可以根据一个模板切割图片的节点,生成任何形状的节点显示。
ClippingNode是Node的子类,可以像普通节点一样放入Layer,Scene,Node中。
ClippingNode 常用方法
create
可以使用
static ClippingNode* create();
方法创建一个ClippingNode对象。如下:auto clipper = ClippingNode::create();
也可以使用
static ClippingNode* create(Node *stencil);
方法创建;在创建的时候指定裁剪模板auto stencil = Sprite::create("CloseNormal.png");//模板节点clipper = ClippingNode::create(stencil);
setStencil
可以使用
void setStencil(Node *stencil);
方法设置“裁剪模板”节点。 如下:clipper->setStencil(stencil);//设置裁剪模板
setInverted
可以使用
void setInverted(bool inverted);
方法,设置是显示被裁剪的部分,还是显示裁剪。true 显示剩余部分。false显示被剪掉部分。 如下:clipper->setInverted(true);//设置底板可见,显示剩余部分
setAlphaThreshold
可以使用
void setAlphaThreshold(GLfloat alphaThreshold);
,设置alpha阈值, 只有模板(stencil)的alpha像素大于alpha阈值(alphaThreshold)时内容才会被绘制。 alpha阈值(threshold)范围应是0到1之间的浮点数。 alpha阈值(threshold)默认为1。 如下:clipper->setAlphaThreshold(0);//设置绘制底板的Alpha值为0
示例
auto bg = LayerColor::create(Color4B(255, 255, 255,255)); this->addChild(bg, -1);//1 auto stencil = Sprite::create("CloseNormal.png"); stencil->setScale(2);//2 auto clipper = ClippingNode::create(); clipper->setStencil(stencil);//设置裁剪模板 //3 clipper->setInverted(true);//设置底板可见 clipper->setAlphaThreshold(0);//设置绘制底板的Alpha值为0 this->addChild(clipper);//4 auto content = Sprite::create("HelloWorld.png");//被裁剪的内容 clipper->addChild(content);//5 clipper->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
运行效果图:
将 clipper->setInverted(true);
改为 clipper->setInverted(false);
运行效果如图:
资源图片:
0 0
- Cocos2d-x 图像渲染和动画——裁剪(ClippingNode)
- Cocos2d-x 图像渲染和动画——动作
- Cocos2d-x 图像渲染和动画——粒子系统
- Cocos2d-x 图像渲染和动画——场景转换(Transitions)
- Cocos2d-x 图像渲染和动画——序列帧动画
- 【Cocos2d-x】节点裁剪 ClippingNode
- Cocos2d-x 图像渲染和动画——3.0坐标系详解
- Cocos2d-x 3.x ClippingNode裁剪节点
- 【Cocos2d-x 3.2】裁剪节点(ClippingNode)总结
- 【Cocos2d-x 3.2】裁剪节点(ClippingNode)总结
- 【Cocos2d-x 3.2】裁剪节点(ClippingNode)总结
- 【Cocos2d-x 3.2】裁剪节点(ClippingNode)总结
- cocos2d-x ClippingNode
- cocos2dx[3.2]——裁剪节点ClippingNode
- cocos2dx 3.x ClippingNode裁剪图形
- cocos2d-x截屏功能clippingnode也能使用——白白
- Cocos2D-x——动画
- cocos2dx[3.2](19)——裁剪节点ClippingNode
- swift2.2 - 高级运算符
- android学习15#--简单自定义跑马灯textView控件
- Python模块——struct(字节流,组包拆包实现)
- MATLAB中图像的几何操作
- 在 unity 中使用三种简单的方式实现实时时钟动画
- Cocos2d-x 图像渲染和动画——裁剪(ClippingNode)
- send pkt
- python usefull lib
- topk--堆排序--小顶堆
- JAVA源码剖析之---Object类(三)---toString,wait,notify,notifyAll,finalize方法的使用
- Fragment加入到Activity的两种方式
- 重构全局系统架构的方法与工具
- Go语言学习笔记10
- UIView——layout