首页 > 其他 > 详细

cocos2d-x 碰撞检测

时间:2014-02-15 09:43:01      阅读:272      评论:0      收藏:0      [点我收藏+]
假设两个 sprite, 每个的图片是缩放的, 而sprite 的上层节点也设置了缩放比例。 这个该怎么方便的进行碰撞检测?

取得屏幕的绝对坐标,和缩放后在屏幕上的size。 取得屏幕的绝对坐标好弄, 后面的计算size有些麻烦(因为有缩放系数),求教大家是怎么办的 ?
答案1:
其实缩放不缩放是一样的啊,如果粗略一些就计算这2个sprite的中心点距离,如果大于等于二者高度或者宽度之和的一半,则为已碰撞,如果想精确些那么要计算每个sprite的轮廓上每个角的坐标来比较!
答案2:
contentsize 是实际的大小。
或者采取画矩形相交判断,
圆形半径判断。
答案3:
CGRect projectileRect = CGRectMake(projectile.position.x ,    projectile.position.y ,  projectile.contentSize.width     projectile.contentSize.height );
CGRect targetRect = CGRectMake(target.position.x ,    target.position.y ,  target.contentSize.width,    target.contentSize.height);          
if (CGRectIntersectsRect(projectileRect, targetRect)) {
                碰撞了.            
                       

第一个代表rect是a物体在屏幕上占的空间.第二个rect是b物体占的空间.两个空间相交则表示碰撞了.

cocos2d-x 碰撞检测

原文:http://blog.csdn.net/guoshenglong11/article/details/19201767

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!