其实做碰撞检测可以直接用管综易来做,从套管和洞口分析检查—到结果高亮显示—自动生成符合国标的套管洞口,调整构筑物和管线还可以随着调整自动更新。
管综分析规则
洞口、套管开洞
碰撞检测的代码较为繁琐,恕我无法为你详细列出
其思路可以是
在update中遍历所有的sprite,然后判断每个sprite和其他sprite(还需遍历一遍,刨除自己)是否碰撞。这样等于判断次数是sprite的数量的平方,效率很低。所以你需要优化一下,比如将“其他sprite(还需遍历一遍)”这个逻辑改成“附近的sprite”。
两个sprite的碰撞检测就很简单了,如果仅仅是矩形判断,很多教程都会有
if ( CCRect::CCRectIntersectsRect(a->boundingBox(), b->boundingBox()) )