首页 > 代码库 > 消格子时一个很深的bug的修复纪录
消格子时一个很深的bug的修复纪录
环境: cocos2d-x 2.2.2 jsb
条件:当快速在格子中来回拖拽选取时,会一直在计算指尖和格子的真实区域是否碰撞,
报错:touchMOve时由于不停的调用BOxItem的getValidRectangle方法,
即不停的在此方法内执行 node.getContentSize().witdh,
经过好几个小时的检测,发现问题就在这一行,xcode里报错的提示显示的是框架里的touchMove相关的代码,看不出具体问题,大概知道了是在touchMOve时F出的问题
修复办法:在BoxItem里创建如下两个变量,用来纪录m_icon的宽和高,这样touch时就避免了重复访问node的getContentSize().width /.height,
m_iconRealWidth:0,
m_iconRealHeight:0,
这样就不会再报错了。
总结:项目中对于显示对象的大小使用,尽量用变量来缓存,而不是每次都调用node.getContentSize().width
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。