码迷,mamicode.com
首页 > 其他好文 > 详细

消格子时一个很深的bug的修复纪录

时间:2014-05-07 00:40:28      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:code   width   get   c   使用   代码   

环境: 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

消格子时一个很深的bug的修复纪录,布布扣,bubuko.com

消格子时一个很深的bug的修复纪录

标签:code   width   get   c   使用   代码   

原文地址:http://www.cnblogs.com/JD85/p/3712489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!