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

mac2022-06-30  21

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

转载于:https://www.cnblogs.com/JD85/p/3712489.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)