demo下载:https://github.com/chenquanjun/Quick-x-HighlightArea

2、裁剪模式

(1)创建裁剪对象

    local bgColor = ccc3(, , ) --非高亮区域颜色
local bgOpacity = 0.6 --非高亮区域透明度 local layerColor = CCLayerColor:create(ccc4(bgColor.r, bgColor.g, bgColor.b, bgOpacity * ), size.width, size.height) local clipNode = CCClippingNode:create();
clipNode:setInverted(true)--设定遮罩的模式true显示没有被遮起来的纹理 如果是false就显示遮罩起来的纹理
clipNode:setAlphaThreshold() --设定遮罩图层的透明度取值范围
clipNode:addChild(layerColor)
self:addChild(clipNode)

(2)创建用来裁剪的对象

因为这里都是使用同一张贴图,所以使用CCSpriteBatchNode统一创建

    local batchNode = CCSpriteBatchNode:create("Images/circle.png")

    local circleSpr = CCSprite:createWithTexture(batchNode:getTexture())
local circleSize = circleSpr:getContentSize() local widthPara
local heightPara local rectArray = {
[] = CCRect(, , , ),
[] = CCRect(, , , ),
[] = CCRect(, , , ),
[] = CCRect(, , , ),
} for i, rect in ipairs(rectArray) do
local circleSpr = CCSprite:createWithTexture(batchNode:getTexture()) if not widthPara then
local circleSize = circleSpr:getContentSize() --宽度和高度参数,1.4142为根号2,矩形的外接椭圆的长轴与短轴长度
widthPara = 1.4142 / circleSize.width
heightPara = 1.4142 / circleSize.height
end local fScaleX = widthPara * rect.size.width
local fScaleY = heightPara * rect.size.height
circleSpr:setScaleX(fScaleX)
circleSpr:setScaleY(fScaleY)
circleSpr:setPosition(rect:getMidX(), rect:getMidY())
batchNode:addChild(circleSpr)
end clipNode:setStencil(batchNode) --关键代码

具体效果(裁剪模板模式 StencilMode)

教程方法一的使用的混合模式(BlendMode)

原始图片(Origin)

可以看到,裁剪模式已经出现了锯齿(后面会用另外一种方式解决这个问题)

demo下载:https://github.com/chenquanjun/Quick-x-HighlightArea

[Quick-x]制作新手引导高亮区域方法之二:裁剪模式的更多相关文章

  1. [Quick-x]制作新手引导高亮区域方法之一:混合模式

    demo下载:https://github.com/chenquanjun/Quick-x-HighlightArea 1.混合模式 (1)首先创建一个全屏的CCRenderTexture实例 这里使 ...

  2. cocos2dx混合模式应用———制作新手引导高亮区域 (2.2.0)

    cocos2dx混合模式应用———制作新手引导高亮区域 转自:http://www.cnblogs.com/mrblue/p/3455775.html 首先,效果预览一下 高亮区域的图片: 示例代码: ...

  3. cocos2dx混合模式应用———制作新手引导高亮区域

    先看下效果 制造这个椭圆高亮区域所使用原图是 附上代码 bool HelloWorld::init() { ////////////////////////////// // 1. super ini ...

  4. dreamweaver中的 map怎么调用?_制作热点图像区域

    我们浏览网页时,经常看到一些图片上会出现特别的超链接,即在一张图片上有多个局部区域和不同的网页链接,比如地图链接. 这就是映射图像(Image Map),它是指一幅根据链接对象不同而被人为划分为若干指 ...

  5. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  6. PHP制作pdf文档方法

    原文:PHP制作pdf文档方法 本篇博客是在看完 php+mysql web书以后自己的测试代码,虽然是测试代码,但不是简单的粘贴复制,为了学习thinkPHP框架,自己就用这个来做的,而且这本书已经 ...

  7. iTunes制作iPhone手机铃声方法(mac版2017年4月更新)

    iTunes制作iPhone手机铃声方法(mac版2017年4月更新)   跟之前百度出来的不同,我自己使用后写的.     1.首先下载好你需要制作铃声的mp3文件,这里我放在桌面.       2 ...

  8. mac mini 制作fusion drive 的方法

    下载yosemite,格式化磁盘,运行如下命令,制作os x 启动盘   sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resour ...

  9. python制作exe可执行文件的方法---使用pyinstaller

    python制作exe可执行文件的方法---使用pyinstaller   python生成windows下exe格式的可执行程序有三种可选方案: py2exe是大家所熟知的,今天要介绍pyinsta ...

随机推荐

  1. jQuery Table2CSV插件(表格转CSV) 完美支持colspan和rowspan

    table2csv:将表格转化为csv数据 参数:一个JSON对象 { 'repeatChar':'拆分单元格填充字符', //默认为null则将单元格值填充到拆分的每个单元格中,如果给定字符串则用给 ...

  2. eclipse项目文件编码格式和项目不一致的修改方法

    eclipse导入了一个项目,并把其属性设置成了UTF-8,但是打开里面的文档之后,发现还是乱码,看了下属性,发现文档竟然还是GBK的编码 于是就百度了下,发现了解决方法,现在和大家分享下,希望能帮到 ...

  3. 包含为 HTTP 定义的状态代码的值(枚举)

    using System; namespace System.Net { // 摘要: // 包含为 HTTP 定义的状态代码的值. public enum HttpStatusCode { // 摘 ...

  4. Oracle PL/SQL 多重选择句

    Oracle中语句块的基本格式: declare --变量定义,初始化赋值. begin --变量的赋值,函数调用,if,while等. end: Oracle中的语句:关系运算符:= <> ...

  5. Pascal Language: Recommended Materials

    Recommended materials: http://www.marcocantu.com/epascal/

  6. [Guava官方文档翻译] 5. Guava的Object公共方法 (Common Object Utilities Explained)

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537367.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  7. sgu 103 Traffic Lights

    这道题难得不是算法,而是处理. 题意就是让你求最短路,只有当两个点在某一秒颜色相同时,这条边才可以通行,输入首先给你 起点和终点, 然后给你 点数和边数, 接下来 n 行 初始颜色,初始颜色持续时间, ...

  8. java.lang.StringBuffer源码分析

    StringBuffer是一个线程安全的可变序列的字符数组对象,它与StringBuilder一样,继承父类AbstractStringBuilder.在多线程环境中,当方法操作是必须被同步,Stri ...

  9. MySQL二进制文件规范安装

    演示环境介绍 操作系统:CentOS 6.7  (64位) 二进制包:mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz MySQL 下载地址:http://dev.m ...

  10. HttpWebRequest中的SendChunked

    MSDN上说:When SendChunked is true, the request sends data to the Internet resource in segments. The In ...