cocos2d-x Lua事件调用 新版本中Rect判断是否包含Point

来源:互联网 发布:手机淘宝6.5.0旧版本 编辑:程序博客网 时间:2024/05/01 07:46

版本:cocos2d-x 3.11 语言:Lua

 

最近一段时间毕业生进入公司,比较的忙,有点忘了博客的事情了。开始找工作的时候真是一波三折啊,自己的各方面技术还有待提高,准备接下来除了工作上的事情,看看数据结构、仔细研究VS的一些用法。

 

嗯,扯远了,从今天开始工作日,我尽量日更博文,分享一下自己遇到的一些问题,还有解决的方法,如果大大们有什么建议,还请不吝赐教。

 

项目里面有一部分是Lua写的,版本在从2.0升级为3.0的时候,Lua部分出现了很多问题。首先我从触碰事件开始说。

 

以上是一个很简单的触碰事件,但是如果加上范围的判读语句,不管在哪里点击都会触发触碰事件。所以以下是触碰事件的写法

 

项目中老版本的Lua是这么写的:

 

转换成节点坐标后,直接containsPoint(pos)就能判断是否包含节点了,而然很遗憾新版本的boundingBox并不包含该方法。再三思考,就想着自己写一个contains方法了。

 

以下是我自己写的方法:

 

比较烦,在考虑是否要弄成全局方法,不然每次都要写上这个方法。不过昨天晚上,我没事看书的时候,正好看到了别人的处理方式。

 

以下是标准的处理:

 

其中rect是sprite的边框,touchPoint是触碰的位置,直接自己提供了方法啊!cocos升版本真的是伤不起啊。。。

 

总结:

判断是否包含节点,使用cc.rectContainsPoint(rect, touchPoint)方法

0 0
原创粉丝点击