cocos2dx+lua实现橡皮擦/功能

偶然一天,老板谈到游戏中刮刮乐是怎么实现的,当时就闲来没事,做了一个小例子看了一下。

实现原理:随着触摸点的移动,通过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 = C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值