如何简单的实现碰撞检测碰撞
1个回答
2015-01-09 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517191
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
碰撞检测的代码较为繁琐,恕我无法为你详细列出
其思路可以是
在update中遍历所有的sprite,然后判断每个sprite和其他sprite(还需遍历一遍,刨除自己)是否碰撞。这样等于判断次数是sprite的数量的平方,效率很低。所以你需要优化一下,比如将“其他sprite(还需遍历一遍)”这个逻辑改成“附近的sprite”。
两个sprite的碰撞检测就很简单了,如果仅仅是矩形判断,很多教程都会有
if ( CCRect::CCRectIntersectsRect(a->boundingBox(), b->boundingBox()) )
你可以百度搜索cocos2d-x 碰撞检测 查看详细代码,如有疑问再提出详细问题。
其思路可以是
在update中遍历所有的sprite,然后判断每个sprite和其他sprite(还需遍历一遍,刨除自己)是否碰撞。这样等于判断次数是sprite的数量的平方,效率很低。所以你需要优化一下,比如将“其他sprite(还需遍历一遍)”这个逻辑改成“附近的sprite”。
两个sprite的碰撞检测就很简单了,如果仅仅是矩形判断,很多教程都会有
if ( CCRect::CCRectIntersectsRect(a->boundingBox(), b->boundingBox()) )
你可以百度搜索cocos2d-x 碰撞检测 查看详细代码,如有疑问再提出详细问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询