时间:2021-05-28
游戏中刮刮乐是怎么实现的?做了一个小例子看了一下。
实现原理:随着触摸点的移动,通过setBlendFunc函数设置部分区域的颜色混合(将上层图片透明度为0,底层我们想要的图片就显示出来)
--橡皮擦功能测试local function initInfo() local scene = CCScene:create() local layer = CCLayer:create() scene:addChild(layer) --擦除后要显示的图片 local tupian = CCSprite:create(ROOT_RES .. "set/tip.png") tupian:setPosition(ccp(WinSizeWidth / 2, WinSizeHeight / 2)) layer:addChild(tupian) --涂层 local tu = CCSprite:create(ROOT_RES..'set/user/BG.png') tu:setPosition(ccp(WinSizeWidth/2,WinSizeHeight/2)) --layer:addChild(tu) --将图层遍历到texture,再将texture加入当前层 local ptex = CCRenderTexture:create(1280,720) ptex:setPosition(ccp(WinSizeWidth/2,WinSizeHeight/2)) layer:addChild(ptex) ptex:begin() tu:visit() ptex:endToLua() --橡皮擦CCDrawNode --point = CCDrawNode:create() --point:drawDot(ccp(0,0),10,ccc4f(0,0,0,0)) local point = CCSprite:create(ROOT_RES..'set/labBtn.png') layer:addChild(point) --[[local blend = ccBlendFunc() blend.src = 0 blend.dst = 1 tu:setBlendFunc(blend)--]] --local blend = tu:getBlendFunc() layer:registerScriptTouchHandler(function (eventType,x,y) if eventType == "began" then cclog("began") return true elseif eventType == "moved" then cclog("move") point:setPosition(x,y) local blend = ccBlendFunc() blend.src = 1 blend.dst = 0 point:setBlendFunc(blend) ptex:begin() point:visit() ptex:endToLua() elseif eventType == "ended" then cclog("end") elseif eventType == "cancelled" then end end,false,-1000,true) layer:setTouchEnabled(true) return sceneendfunction getInfoLayer() CCDirector:sharedDirector():replaceScene(initInfo())end完成后效果如下:(图片都是游戏中随便找的,有点差强人意)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了cocos2dx实现橡皮擦效果,以及判断是否擦除完毕,供大家参考,具体内容如下首先修改HelloWorld.h文件#ifndef__HELL
找到sketchbook橡皮擦的方法: 1、sketchbook橡皮擦在笔的标志里,这里可以选择画笔,橡皮擦,透明度大小,半径大小。 2、画笔一框有许多款式
ps把背景变成黑色的方法如下: 1、首先将需要修改的图片在PS软件里面打开。 2、接着打开图片之后,点击左侧的魔术橡皮擦工具,选择了魔术橡皮擦工具之后,并将
ps橡皮擦擦出透明图层的方法是:点击使用“背景橡皮擦工具”涂抹背景即可。 AdobePhotoshop,简称“PS”,是由AdobeSystems开发和发行的
橡皮擦商标应该注册的类别是: 第十六类-办公用品-1611-办公文具(不包括笔,墨,印,胶水)-橡皮擦160139。 知识产权。