制作新手引导高亮区域方法之二:裁剪模式

制作新手引导高亮区域方法之二:裁剪模式,第1张

概述demo下载:Quick-x-HighlightArea-master.zip 裁剪模式 (1)创建裁剪对象 1 2 3 4 5 6 7 8 9 10 local bgColor = ccc3(255, 0, 0) --非高亮区域颜色 local bgOpacity = 0.6 --非高亮区域透明度   local layerColor = CCLayerColor:create(ccc4(bgC

demo下载:Quick-x-HighlightArea-master.zip


裁剪模式

(1)创建裁剪对象

1 2 3 4 5 6 7 8 9 10 localbgcolor=ccc3(255,0)--非高亮区域颜色 localbgOpacity=0.6--非高亮区域透明度 locallayercolor=cclayercolor:create(ccc4(bgcolor.r,bgcolor.g,bgcolor.b,bgOpacity*255),size.wIDth,size.height) localclipNode=CcclipPingNode:create(); clipNode:setInverted( true )--设定遮罩的模式 显示没有被遮起来的纹理如果是 false 就显示遮罩起来的纹理 clipNode:setAlphaThreshold(0)--设定遮罩图层的透明度取值范围 clipNode:addChild(layercolor) self:addChild(clipNode)

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

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

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
localbatchNode=CCSpriteBatchNode:create( "Images/circle.png" ) localcircleSpr=CCSprite:createWithTexture(batchNode:getTexture()) localcircleSize=circleSpr:getContentSize() localwIDthPara localheightPara localrectArray={ [1]=CCRect(100,100,100), [2]=CCRect(200,150), [3]=CCRect(450,35,150, [4]=CCRect(300,300, } for i,rectinipairs(rectArray) do localcircleSpr=CCSprite:createWithTexture(batchNode:getTexture()) if notwIDthParathen localcircleSize=circleSpr:getContentSize() --宽度和高度参数,1.4142为根号2,矩形的外接椭圆的长轴与短轴长度 wIDthPara=1.4142/circleSize.wIDth heightPara=1.4142/circleSize.height end localfScaleX=wIDthPara*rect.size.wIDth localfScaleY=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)

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

总结

以上是内存溢出为你收集整理的制作新手引导高亮区域方法之二:裁剪模式全部内容,希望文章能够帮你解决制作新手引导高亮区域方法之二:裁剪模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存