
如何简单的实现碰撞检测碰撞
2015-01-09 · 知道合伙人数码行家

知道合伙人数码行家
采纳数:117525
获赞数:517219
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向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 碰撞检测 查看详细代码,如有疑问再提出详细问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-02-19 广告
0755-26585726,深圳市德迈盛测控设备有限公司,主要经营各种类检测设备、水锤试验机、水压试验机、灼热丝试验仪、电池燃烧试验仪等产品。现已与多家企业保持着长期的合作关系,服务放心周到。不断满足客户和市场需求,为客户提供专注、快速、周...
点击进入详情页
本回答由德迈盛测控提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询