quickcocos2dx 的绘画功能

 最近做到了一个项目,需要在quickcocos2dx里做一个手指绘制功能,随着手指滑动在屏幕上画出自己想要画的图案。

参考了quickcocos2dx中的luatest的实例,它里面使用的是CCRenderTexture,但它是全屏绘制,并且没有清除掉我已经画的图案的功能,下面我就把自己的一些心得记录下来(代码在github上)。

在这之前,不妨设定自己的需求,在一个居于屏幕中央的正方形内,设定我们的可绘制区域,并且保证我们的绘制不能超出这个正方形区域,同时设定一个按钮,可以保证这些我们已经绘制上去的图案被清除掉。

1.首先我们先确定自己的绘制区域CCRenderTexture:create(dx, dy, kCCTexture2DPixelFormat_RGBA8888),然后setPosition(x, y),这样我们就确定了我们的绘制区域的大小和位置。dx,dy表示我们的绘制区域的长和宽,x,y表示我们的绘制区域的位置。

2.然后是自定义我们的画笔,这里我使用的是一张图片,brush = CCSprite:create("a.png"),并且加上brush:retain() ,并不需要加到我的层或者场景里去,同时,在离开场景的时候要将brush这个对象release掉。

3.在画笔和绘制区域都定好了之后,我们可以定义一个ontouch事件来进行绘制了。这部分代码主要是在began里记录起始点,然后在moved里不断进行绘制,具体的用法和数学问题(斜率)在我的例子和luatest里都有表述。

4.最后,在我们在指定区域内绘制我们的图案之后,我们还可以设定一个按钮,它的作用是清空当前的区域内我已经画上的东西,那么就需要我们用这个CCRenderTexture对象去调用我们的clear函数,如果是完全清空,那么clear的参数应当依次是0,0,0,0。


github:https://github.com/Froyo91/quickcocos2dx-paint-in-an-area





  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值